Skip to content
  1. Sep 10, 2014
    • Eric Dumazet's avatar
      tcp: remove dst refcount false sharing for prequeue mode · ca777eff
      Eric Dumazet authored
      Alexander Duyck reported high false sharing on dst refcount in tcp stack
      when prequeue is used. prequeue is the mechanism used when a thread is
      blocked in recvmsg()/read() on a TCP socket, using a blocking model
      rather than select()/poll()/epoll() non blocking one.
      
      We already try to use RCU in input path as much as possible, but we were
      forced to take a refcount on the dst when skb escaped RCU protected
      region. When/if the user thread runs on different cpu, dst_release()
      will then touch dst refcount again.
      
      Commit 09316255
      
       (tcp: force a dst refcount when prequeue packet)
      was an example of a race fix.
      
      It turns out the only remaining usage of skb->dst for a packet stored
      in a TCP socket prequeue is IP early demux.
      
      We can add a logic to detect when IP early demux is probably going
      to use skb->dst. Because we do an optimistic check rather than duplicate
      existing logic, we need to guard inet_sk_rx_dst_set() and
      inet6_sk_rx_dst_set() from using a NULL dst.
      
      Many thanks to Alexander for providing a nice bug report, git bisection,
      and reproducer.
      
      Tested using Alexander script on a 40Gb NIC, 8 RX queues.
      Hosts have 24 cores, 48 hyper threads.
      
      echo 0 >/proc/sys/net/ipv4/tcp_autocorking
      
      for i in `seq 0 47`
      do
        for j in `seq 0 2`
        do
           netperf -H $DEST -t TCP_STREAM -l 1000 \
                   -c -C -T $i,$i -P 0 -- \
                   -m 64 -s 64K -D &
        done
      done
      
      Before patch : ~6Mpps and ~95% cpu usage on receiver
      After patch : ~9Mpps and ~35% cpu usage on receiver.
      
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ca777eff
    • Stephen Rothwell's avatar
      ath5k: Add missing vmalloc.h include. · 32bc6d1a
      Stephen Rothwell authored
      After merging the wireless-next tree, today's linux-next build (powerpc
      allyesconfig) failed like this:
      
      drivers/net/wireless/ath/ath5k/debug.c: In function 'open_file_eeprom':
      drivers/net/wireless/ath/ath5k/debug.c:933:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
        buf = vmalloc(eesize);
        ^
      drivers/net/wireless/ath/ath5k/debug.c:933:6: warning: assignment makes pointer from integer without a cast
        buf = vmalloc(eesize);
            ^
      drivers/net/wireless/ath/ath5k/debug.c:960:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
        vfree(buf);
        ^
      
      Caused by commit db906eb2
      
       ("ath5k: added debugfs file for dumping
      eeprom").  Also reported by Guenter Roeck.
      
      I have used Geert Uytterhoeven's suggested fix of including vmalloc.h
      and so added this patch for today:
      
      From: Stephen Rothwell <sfr@canb.auug.org.au>
      Date: Mon, 8 Sep 2014 18:39:23 +1000
      Subject: [PATCH] ath5k: fix debugfs addition
      
      Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Suggested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      32bc6d1a
    • Varka Bhadram's avatar
      ethernet: ti: remove unwanted THIS_MODULE macro · c9104b04
      Varka Bhadram authored
      
      
      It removes the owner field updation of driver structure.
      It will be automatically updated by module_platform_driver()
      
      Signed-off-by: default avatarVarka Bhadram <varkab@cdac.in>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c9104b04
    • Li RongQing's avatar
      openvswitch: change the data type of error status to atomic_long_t · e403aded
      Li RongQing authored
      
      
      Change the date type of error status from u64 to atomic_long_t, and use atomic
      operation, then remove the lock which is used to protect the error status.
      
      The operation of atomic maybe faster than spin lock.
      
      Cc: Pravin Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e403aded
    • Rami Rosen's avatar
      bridge: Cleanup of unncessary check. · 5aaa62d6
      Rami Rosen authored
      
      
      This patch removes an unncessary check in the br_afspec() method of
      br_netlink.c.
      
      Signed-off-by: default avatarRami Rosen <ramirose@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5aaa62d6
    • David S. Miller's avatar
      Merge branch 'bridge_rtnl_link' · 8b86f7f3
      David S. Miller authored
      
      
      Jiri Pirko says:
      
      ====================
      bridge: implement rtnl_link options for getting and setting bridge options
      
      So far, only sysfs is complete interface for getting and setting bridge
      options. This patchset follows-up on the similar bonding code and
      allows userspace to get/set bridge master/port options using Netlink
      IFLA_INFO_DATA/IFLA_INFO_SLAVE_DATA attr.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b86f7f3
    • Jiri Pirko's avatar
      bridge: implement rtnl_link_ops->changelink · 13323516
      Jiri Pirko authored
      
      
      Allow rtnetlink users to set bridge master info via IFLA_INFO_DATA attr
      This initial part implements forward_delay, hello_time, max_age options.
      
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      13323516
    • Jiri Pirko's avatar
      bridge: implement rtnl_link_ops->get_size and rtnl_link_ops->fill_info · e5c3ea5c
      Jiri Pirko authored
      
      
      Allow rtnetlink users to get bridge master info in IFLA_INFO_DATA attr
      This initial part implements forward_delay, hello_time, max_age options.
      
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e5c3ea5c
    • Jiri Pirko's avatar
      bridge: implement rtnl_link_ops->slave_changelink · 3ac636b8
      Jiri Pirko authored
      
      
      Allow rtnetlink users to set port info via IFLA_INFO_SLAVE_DATA attr
      
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3ac636b8
    • Jiri Pirko's avatar
      bridge: implement rtnl_link_ops->get_slave_size and rtnl_link_ops->fill_slave_info · ced8283f
      Jiri Pirko authored
      
      
      Allow rtnetlink users to get port info in IFLA_INFO_SLAVE_DATA attr
      
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ced8283f
    • Jiri Pirko's avatar
      bridge: switch order of rx_handler reg and upper dev link · 0f49579a
      Jiri Pirko authored
      
      
      The thing is that netdev_master_upper_dev_link calls
      call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev). That generates rtnl
      link message and during that, rtnl_link_ops->fill_slave_info is called.
      But with current ordering, rx_handler and IFF_BRIDGE_PORT are not set
      yet so there would have to be check for that in fill_slave_info callback.
      
      Resolve this by reordering to similar what bonding and team does to
      avoid the check.
      
      Also add removal of IFF_BRIDGE_PORT flag into error path.
      
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f49579a
    • Vincent Bernat's avatar
      net/ipv4: bind ip_nonlocal_bind to current netns · 49a60158
      Vincent Bernat authored
      
      
      net.ipv4.ip_nonlocal_bind sysctl was global to all network
      namespaces. This patch allows to set a different value for each
      network namespace.
      
      Signed-off-by: default avatarVincent Bernat <vincent@bernat.im>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      49a60158
    • David S. Miller's avatar
      Merge branch 'ebpf' · afddacc3
      David S. Miller authored
      
      
      Alexei Starovoitov says:
      
      ====================
      load imm64 insn and uapi/linux/bpf.h
      
      V9->V10
      - no changes, added Daniel's ack
      
      Note they're on top of Hannes's patch in the same area [1]
      
      V8 thread with 'why' reasoning and end goal [2]
      
      Original set [3] of ~28 patches I'm planning to present in 4 stages:
      
        I. this 2 patches to fork off llvm upstreaming
       II. bpf syscall with manpage and map implementation
      III. bpf program load/unload with verifier testsuite (1st user of
           instruction macros from bpf.h and 1st user of load imm64 insn)
       IV. tracing, etc
      
      [1] http://patchwork.ozlabs.org/patch/385266/
      [2] https://lkml.org/lkml/2014/8/27/628
      [3] https://lkml.org/lkml/2014/8/26/859
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      afddacc3
    • Alexei Starovoitov's avatar
      net: filter: split filter.h and expose eBPF to user space · daedfb22
      Alexei Starovoitov authored
      
      
      allow user space to generate eBPF programs
      
      uapi/linux/bpf.h: eBPF instruction set definition
      
      linux/filter.h: the rest
      
      This patch only moves macro definitions, but practically it freezes existing
      eBPF instruction set, though new instructions can still be added in the future.
      
      These eBPF definitions cannot go into uapi/linux/filter.h, since the names
      may conflict with existing applications.
      
      Full eBPF ISA description is in Documentation/networking/filter.txt
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Acked-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      daedfb22
    • Alexei Starovoitov's avatar
      net: filter: add "load 64-bit immediate" eBPF instruction · 02ab695b
      Alexei Starovoitov authored
      
      
      add BPF_LD_IMM64 instruction to load 64-bit immediate value into a register.
      All previous instructions were 8-byte. This is first 16-byte instruction.
      Two consecutive 'struct bpf_insn' blocks are interpreted as single instruction:
      insn[0].code = BPF_LD | BPF_DW | BPF_IMM
      insn[0].dst_reg = destination register
      insn[0].imm = lower 32-bit
      insn[1].code = 0
      insn[1].imm = upper 32-bit
      All unused fields must be zero.
      
      Classic BPF has similar instruction: BPF_LD | BPF_W | BPF_IMM
      which loads 32-bit immediate value into a register.
      
      x64 JITs it as single 'movabsq %rax, imm64'
      arm64 may JIT as sequence of four 'movk x0, #imm16, lsl #shift' insn
      
      Note that old eBPF programs are binary compatible with new interpreter.
      
      It helps eBPF programs load 64-bit constant into a register with one
      instruction instead of using two registers and 4 instructions:
      BPF_MOV32_IMM(R1, imm32)
      BPF_ALU64_IMM(BPF_LSH, R1, 32)
      BPF_MOV32_IMM(R2, imm32)
      BPF_ALU64_REG(BPF_OR, R1, R2)
      
      User space generated programs will use this instruction to load constants only.
      
      To tell kernel that user space needs a pointer the _pseudo_ variant of
      this instruction may be added later, which will use extra bits of encoding
      to indicate what type of pointer user space is asking kernel to provide.
      For example 'off' or 'src_reg' fields can be used for such purpose.
      src_reg = 1 could mean that user space is asking kernel to validate and
      load in-kernel map pointer.
      src_reg = 2 could mean that user space needs readonly data section pointer
      src_reg = 3 could mean that user space needs a pointer to per-cpu local data
      All such future pseudo instructions will not be carrying the actual pointer
      as part of the instruction, but rather will be treated as a request to kernel
      to provide one. The kernel will verify the request_for_a_pointer, then
      will drop _pseudo_ marking and will store actual internal pointer inside
      the instruction, so the end result is the interpreter and JITs never
      see pseudo BPF_LD_IMM64 insns and only operate on generic BPF_LD_IMM64 that
      loads 64-bit immediate into a register. User space never operates on direct
      pointers and verifier can easily recognize request_for_pointer vs other
      instructions.
      
      Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      02ab695b
  2. Sep 09, 2014
    • David S. Miller's avatar
      Merge tag 'master-2014-09-08' of... · 5b4c3145
      David S. Miller authored
      
      Merge tag 'master-2014-09-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next
      
      John W. Linville says:
      
      ====================
      pull request: wireless-next 2014-09-08
      
      Please pull this batch of updates intended for the 3.18 stream...
      
      For the mac80211 bits, Johannes says:
      
      "Not that much content this time. Some RCU cleanups, crypto
      performance improvements, and various patches all over,
      rather than listing them one might as well look into the
      git log instead."
      
      For the Bluetooth bits, Gustavo says:
      
      "The changes consists of:
      
              - Coding style fixes to HCI drivers
              - Corrupted ack value fix for the H5 HCI driver
              - A couple of Enhanced L2CAP fixes
              - Conversion of SMP code to use common L2CAP channel API
              - Page scan optimizations when using the kernel-side whitelist
              - Various mac802154 and and ieee802154 6lowpan cleanups
              - One new Atheros USB ID"
      
      For the iwlwifi bits, Emmanuel says:
      
      "We have a new big thing coming up which is called Dynamic Queue
      Allocation (or DQA).  This is a completely new way to work with the
      Tx queues and it requires major refactoring.  This is being done by
      Johannes and Avri.  Besides this, Johannes disables U-APSD by default
      because of APs that would disable A-MPDU if the association supports
      U-ASPD.  Luca contributed to the power area which he was cleaning
      up on the way while working on CSA.  A few more random things here
      and there."
      
      For the Atheros bits, Kalle says:
      
      "For ath6kl we had two small fixes and a new SDIO device id.
      
      For ath10k the bigger changes are:
      
       * support for new firmware version 10.2 (Michal)
      
       * spectral scan support (Simon, Sven & Mathias)
      
       * export a firmware crash dump file (Ben & me)
      
       * cleaning up of pci.c (Michal)
      
       * print pci id in all messages, which causes most of the churn (Michal)"
      
      Beyond that, we have the usual collection of various updates to ath9k,
      b43, mwifiex, and wil6210, as well as a few other bits here and there.
      
      Please let me know if there are problems!
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5b4c3145
    • Willem de Bruijn's avatar
      inet: remove dead inetpeer sequence code · a7f26b7e
      Willem de Bruijn authored
      inetpeer sequence numbers are no longer incremented, so no need to
      check and flush the tree. The function that increments the sequence
      number was already dead code and removed in in "ipv4: remove unused
      function" (068a6e18
      
      ). Remove the code that checks for a change, too.
      
      Verifying that v4_seq and v6_seq are never incremented and thus that
      flush_check compares bp->flush_seq to 0 is trivial.
      
      The second part of the change removes flush_check completely even
      though bp->flush_seq is exactly !0 once, at initialization. This
      change is correct because the time this branch is true is when
      bp->root == peer_avl_empty_rcu, in which the branch and
      inetpeer_invalidate_tree are a NOOP.
      
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a7f26b7e
    • Mugunthan V N's avatar
      drivers: net: cpsw: Add support for pause frames · 1923d6e4
      Mugunthan V N authored
      
      
      CPSW supports both rx and tx pause frames for flow control.
      
      Signed-off-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1923d6e4
    • Rick Jones's avatar
      hp100: Convert the normal skb free path to dev_consume_skb_any() · 119eccd5
      Rick Jones authored
      
      
      A bit of floor sweeping in a dusty old corner.  Convert the "normal"
      skb free calls to dev_consume_skb_any() so packet drop tracing will
      be more sane.
      
      Signed-off-by: default avatarRick Jones <rick.jones2@hp.com>
      Acked-by: default avatarJaroslav Kysela <perex@perex.cz>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      119eccd5
    • Tom Herbert's avatar
      net: Fix GRE RX to use skb_transport_header for GRE header offset · 1e701f16
      Tom Herbert authored
      
      
      GRE assumes that the GRE header is at skb_network_header +
      ip_hrdlen(skb). It is more general to use skb_transport_header
      and this allows the possbility of inserting additional header
      between IP and GRE (which is what we will done in Generic UDP
      Encapsulation for GRE).
      
      Signed-off-by: default avatarTom Herbert <therbert@google.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1e701f16
    • Alexander Duyck's avatar
      dp83640: Make use of skb_queue_purge instead of reimplementing the code · db91b724
      Alexander Duyck authored
      
      
      This change makes it so that dp83640_remove can use skb_queue_purge
      instead of looping through itself to flush any entries out of the queue.
      
      Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
      Acked-by: default avatarRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      db91b724
  3. Sep 08, 2014
    • John W. Linville's avatar
    • David S. Miller's avatar
    • Linus Torvalds's avatar
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · d030671f
      Linus Torvalds authored
      Pull cgroup fixes from Tejun Heo:
       "This pull request includes Alban's patch to disallow '\n' in cgroup
        names.
      
        Two other patches from Li to fix a possible oops when cgroup
        destruction races against other file operations and one from Vivek to
        fix a unified hierarchy devel behavior"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: check cgroup liveliness before unbreaking kernfs
        cgroup: delay the clearing of cgrp->kn->priv
        cgroup: Display legacy cgroup files on default hierarchy
        cgroup: reject cgroup names with '\n'
      d030671f
    • Linus Torvalds's avatar
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 6a5c75ce
      Linus Torvalds authored
      Pull percpu fixes from Tejun Heo:
       "One patch to fix a failure path in the alloc path.  The bug is
        dangerous but probably not too likely to actually trigger in the wild
        given that there hasn't been any report yet.
      
        The other two are low impact fixes"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: free percpu allocation info for uniprocessor system
        percpu: perform tlb flush after pcpu_map_pages() failure
        percpu: fix pcpu_alloc_pages() failure path
      6a5c75ce
    • Linus Torvalds's avatar
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · cfa7c641
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "Two patches are to add PCI IDs for ICH9 and all others are device
        specific fixes.  Nothing too interesting"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci_xgene: Fix the link down in first attempt for the APM X-Gene SoC AHCI SATA host controller driver.
        ahci_xgene: Skip the PHY and clock initialization if already configured by the firmware.
        ahci: add pcid for Marvel 0x9182 controller
        ata: Disabling the async PM for JMicron chip 363/361
        ata_piix: Add Device IDs for Intel 9 Series PCH
        ahci: Add Device IDs for Intel 9 Series PCH
        ata: ahci_tegra: Read calibration fuse
      cfa7c641
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · b531f5dd
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix skb leak in mac802154, from Martin Townsend
      
       2) Use select not depends on NF_NAT for NFT_NAT, from Pablo Neira
          Ayuso
      
       3) Fix union initializer bogosity in vxlan, from Gerhard Stenzel
      
       4) Fix RX checksum configuration in stmmac driver, from Giuseppe
          CAVALLARO
      
       5) Fix TSO with non-accelerated VLANs in e1000, e1000e, bna, ehea,
          i40e, i40evf, mvneta, and qlge, from Vlad Yasevich
      
       6) Fix capability checks in phy_init_eee(), from Giuseppe CAVALLARO
      
       7) Try high order allocations more sanely for SKBs, specifically if a
          high order allocation fails, fall back directly to zero order pages
          rather than iterating down one order at a time.  From Eric Dumazet
      
       8) Fix a memory leak in openvswitch, from Li RongQing
      
       9) amd-xgbe initializes wrong spinlock, from Thomas Lendacky
      
      10) RTNL locking was busted in setsockopt for anycast and multicast, fix
          from Sabrina Dubroca
      
      11) Fix peer address refcount leak in ipv6, from Nicolas Dichtel
      
      12) DocBook typo fixes, from Masanari Iida
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
        ipv6: restore the behavior of ipv6_sock_ac_drop()
        amd-xgbe: Enable interrupts for all management counters
        amd-xgbe: Treat certain counter registers as 64 bit
        greth: moved TX ring cleaning to NAPI rx poll func
        cnic : Cleanup CONFIG_IPV6 & VLAN check
        net: treewide: Fix typo found in DocBook/networking.xml
        bnx2x: Fix link problems for 1G SFP RJ45 module
        3c59x: avoid panic in boomerang_start_xmit when finding page address:
        netfilter: add explicit Kconfig for NETFILTER_XT_NAT
        ipv6: use addrconf_get_prefix_route() to remove peer addr
        ipv6: fix a refcnt leak with peer addr
        net-timestamp: only report sw timestamp if reporting bit is set
        drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros
        l2tp: fix race while getting PMTU on PPP pseudo-wire
        ipv6: fix rtnl locking in setsockopt for anycast and multicast
        VMXNET3: Check for map error in vmxnet3_set_mc
        openvswitch: distinguish between the dropped and consumed skb
        amd-xgbe: Fix initialization of the wrong spin lock
        openvswitch: fix a memory leak
        netfilter: fix missing dependencies in NETFILTER_XT_TARGET_LOG
        ...
      b531f5dd
    • Beniamino Galvani's avatar
      net: phy: mdio-sun4i: don't select REGULATOR · 97a13e52
      Beniamino Galvani authored
      
      
      The mdio-sun4i driver automatically selects REGULATOR and
      REGULATOR_FIXED_VOLTAGE because it uses the regulator API. But a
      driver selecting a subsystem increases the chance of generating
      circular Kconfig dependencies, especially when other drivers depend on
      the selected symbol.
      
      Since the regulator API functions are replaced with no-ops when
      REGULATOR is disabled, the driver can be built successfully even
      without regulator support and so those 'select' dependencies can be
      safely dropped.
      
      Suggested-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarBeniamino Galvani <b.galvani@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      97a13e52
    • David S. Miller's avatar
      Merge tag 'master-2014-09-04' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · 45ce829d
      David S. Miller authored
      
      
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-09-05
      
      Please pull this batch of fixes intended for the 3.17 stream...
      
      For the mac80211 bits, Johannes says:
      
      "Here are a few fixes for mac80211. One has been discussed for a while
      and adds a terminating NUL-byte to the alpha2 sent to userspace, which
      shouldn't be necessary but since many places treat it as a string we
      couldn't move to just sending two bytes.
      
      In addition to that, we have two VLAN fixes from Felix, a mesh fix, a
      fix for the recently introduced RX aggregation offload, a revert for
      a broken patch (that luckily didn't really cause any harm) and a small
      fix for alignment in debugfs."
      
      For the iwlwifi bits, Emmanuel says:
      
      "I revert a patch that disabled CTS to self in dvm because users
      reported issues. The revert is CCed to stable since the offending
      patch was sent to stable too. I also bump the firmware API versions
      since a new firmware is coming up. On top of that, Marcel fixes a
      bug I introduced while fixing a bug in our Kconfig file."
      
      Please let me know if there are problems!
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      45ce829d
    • WANG Cong's avatar
      ipv6: restore the behavior of ipv6_sock_ac_drop() · de185ab4
      WANG Cong authored
      It is possible that the interface is already gone after joining
      the list of anycast on this interface as we don't hold a refcount
      for the device, in this case we are safe to ignore the error.
      
      What's more important, for API compatibility we should not
      change this behavior for applications even if it were correct.
      
      Fixes: commit a9ed4a29
      
       ("ipv6: fix rtnl locking in setsockopt for anycast and multicast")
      Cc: Sabrina Dubroca <sd@queasysnail.net>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Acked-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de185ab4
    • Linus Torvalds's avatar
      Linux 3.17-rc4 · 2ce7598c
      Linus Torvalds authored
      2ce7598c
    • Andy Shevchenko's avatar
      rose: use %*ph specifier · 13aa3463
      Andy Shevchenko authored
      
      
      Instead of dereference each byte let's use %*ph specifier in the printk()
      calls.
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      13aa3463
    • Sudip Mukherjee's avatar
      Documentation: new page link in SubmittingPatches · 7e0dae61
      Sudip Mukherjee authored
      
      
      new link for - How to piss off a Linux kernel subsystem maintainer
      
      Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e0dae61
    • Paul Bolle's avatar
      Documentation: NFS/RDMA: Document separate Kconfig symbols · 731d5cca
      Paul Bolle authored
      The NFS/RDMA Kconfig symbol was split into separate options for client
      and server in commit 2e8c12e1
      
       ("xprtrdma: add separate Kconfig
      options for NFSoRDMA client and server support").
      
      Update the documentation to reflect this split.
      
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Cc: "J. Bruce Fields" <bfields@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      731d5cca
    • Masanari Iida's avatar
      Documentation: misc-devices: Rename freefall.c from hpfall.c in lis2lv02d · 0024d6e9
      Masanari Iida authored
      
      
      hpfall.c was renamed to freefall.c in 3.16, but this file still refer to
      hpfall.c instead of freefall.c
      
      Signed-off-by: default avatarMasanari Iida <standby24x7@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0024d6e9
    • Jose Manuel Alarcon Roldan's avatar
      Documentation: i2c: rename variable "register" to "reg" · 257d6ef4
      Jose Manuel Alarcon Roldan authored
      
      
      The example code provided with the i2c device interface documentation
      won't compile since it uses the reserved word "register" to name a
      variable.
      
      The compiler fails with this error message:
      
       error: expected identifier or '(' before '=' token
         __u8 register = 0x20; /* Device register to access */
                       ^
      
      Rename the variable "register" to simply "reg" in the example code.
      
      Another couple of typos has been fixed as well.
      [Change "! =" to "!=".]
      
      Signed-off-by: default avatarJose Alarcon Roldan <jose.alarcon.roldan@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Acked-by: default avatarWolfram Sang <wsa@the-dreams.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      257d6ef4
    • Rob Jones's avatar
      Documentation: seq_file: Document seq_open_private(), seq_release_private() · 77be4daf
      Rob Jones authored
      
      
      Despite the fact that these functions have been around for years, they
      are little used (only 15 uses in 13 files at the preseht time) even
      though many other files use work-arounds to achieve the same result.
      
      By documenting them, hopefully they will become more widely used.
      
      Signed-off-by: default avatarRob Jones <rob.jones@codethink.co.uk>
      Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      77be4daf
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 6fef37c9
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "These are regression fixes (ACPI sysfs, ACPI video, suspend test),
        ACPI cpuidle deadlock fix, missing runtime validation of ACPI _DSD
        output, a fix and a new CPU ID for the RAPL driver, new blacklist
        entry for the ACPI EC driver and a couple of trivial cleanups
        (intel_pstate and generic PM domains).
      
        Specifics:
      
         - Fix for recently broken test_suspend= command line argument (Rafael
           Wysocki).
      
         - Fixes for regressions related to the ACPI video driver caused by
           switching the default to native backlight handling in 3.16 from
           Hans de Goede.
      
         - Fix for a sysfs attribute of ACPI device objects that returns stale
           values sometimes due to the fact that they are cached instead of
           executing the appropriate method (_SUN) every time (broken in
           3.14).  From Yasuaki Ishimatsu.
      
         - Fix for a deadlock between cpuidle_lock and cpu_hotplug.lock in the
           ACPI processor driver from Jiri Kosina.
      
         - Runtime output validation for the ACPI _DSD device configuration
           object missing from the support for it that has been introduced
           recently.  From Mika Westerberg.
      
         - Fix for an unuseful and misleading RAPL (Running Average Power
           Limit) domain detection message in the RAPL driver from Jacob Pan.
      
         - New Intel Haswell CPU ID for the RAPL driver from Jason Baron.
      
         - New Clevo W350etq blacklist entry for the ACPI EC driver from Lan
           Tianyu.
      
         - Cleanup for the intel_pstate driver and the core generic PM domains
           code from Gabriele Mazzotta and Geert Uytterhoeven"
      
      * tag 'pm+acpi-3.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / cpuidle: fix deadlock between cpuidle_lock and cpu_hotplug.lock
        ACPI / scan: not cache _SUN value in struct acpi_device_pnp
        cpufreq: intel_pstate: Remove unneeded variable
        powercap / RAPL: change domain detection message
        powercap / RAPL: add support for CPU model 0x3f
        PM / domains: Make generic_pm_domain.name const
        PM / sleep: Fix test_suspend= command line option
        ACPI / EC: Add msi quirk for Clevo W350etq
        ACPI / video: Disable native_backlight on HP ENVY 15 Notebook PC
        ACPI / video: Add a disable_native_backlight quirk
        ACPI / video: Fix use_native_backlight selection logic
        ACPICA: ACPI 5.1: Add support for runtime validation of _DSD package.
      6fef37c9
    • Tom Lendacky's avatar
      amd-xgbe-phy: Fix build break for missing declaration · a42f5c17
      Tom Lendacky authored
      
      
      A previous patch inadvertently deleted a declaration in the
      amd_xgbe_an_tx_training function causing the build to fail.
      
      Add the declaration for 'priv' back to the function.
      
      Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a42f5c17
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 9142eade
      Linus Torvalds authored
      Pull filesystem fixes from Al Viro:
       "Several bugfixes (all of them -stable fodder).
      
        Alexey's one deals with double mutex_lock() in UFS (apparently, nobody
        has tried to test "ufs: sb mutex merge + mutex_destroy" on something
        like file creation/removal on ufs).  Mine deal with two kinds of
        umount bugs, in umount propagation and in handling of automounted
        submounts, both resulting in bogus transient EBUSY from umount"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        ufs: fix deadlocks introduced by sb mutex merge
        fix EBUSY on umount() from MNT_SHRINKABLE
        get rid of propagate_umount() mistakenly treating slaves as busy.
      9142eade