1. 02 7月, 2014 8 次提交
    • D
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · eb608d2b
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      pull request: wireless 2014-06-27
      
      Please pull the following batch of fixes for the 3.16 stream...
      
      For the mac80211 bits, Johannes says:
      
      "We have a fix from Eliad for a time calculation, a fix from Max for
      head/tailroom when sending authentication packets, a revert that Felix
      requested since the patch in question broke regulatory and a fix from
      myself for an issue with a new command that we advertised in the wrong
      place."
      
      For the bluetooth bits, Gustavo says:
      
      "A few fixes for 3.16. This pull request contains a NULL dereference fix,
      and some security/pairing fixes."
      
      For the iwlwifi bits, Emmanuel says:
      
      "I have here a fix from Eliad for scheduled scan: it fixes a firmware
      assertion. Arik reverts a patch I made that didn't take into account
      that 3160 doesn't have UAPSD and hence, we can't assume that all
      newer firmwares support the feature. Here too, the visible effect
      is a firmware assertion. Along with that, we have a few fixes and
      additions to the device list."
      
      For the ath10k bits, Kalle says:
      
      "Bartosz fixed an issue where we were not able to create 8 vdevs when
      using DFS. Michal removed a false warning which was just confusing
      people."
      
      On top of that...
      
      Arend van Spriel fixes a 'divide by zero' regression in brcmfmac.
      
      Amitkumar Karwar corrects a transmit timeout in mwifiex.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb608d2b
    • F
      net: bcmgenet: do not set packet length for RX buffers · b758858c
      Florian Fainelli 提交于
      Hardware will provide this information as soon as we will start
      processing incoming packets, so there is no need to set the RX buffer
      length during buffer allocation.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b758858c
    • F
      net: bcmgenet: start with carrier off · 219575eb
      Florian Fainelli 提交于
      We use the PHY library which will determine the link state for us, make
      sure we start with a carrier off until libphy has completed the link
      training.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      219575eb
    • F
      net: bcmgenet: disable clock before register_netdev · 0f50ce96
      Florian Fainelli 提交于
      As soon as register_netdev() is called, the network device notifiers are
      running which means that other parts of the kernel, or user-space
      programs can call the network device ndo_open() callback and use the
      interface.
      
      Disable the Ethernet device clock before we register the network device
      such that we do not create the following situation:
      
      CPU0				CPU1
      register_netdev()
      				bcmgenet_open()
      				clk_prepare_enable()
      clk_disable_unprepare()
      
      and leave the hardware block gated off, while we think it should be
      gated on.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0f50ce96
    • F
      net: systemport: fix TX NAPI work done return value · 16f62d9b
      Florian Fainelli 提交于
      Although we do not limit the number of packets the TX completion
      function bcm_sysport_tx_reclaim() is allowed to reclaim, we were still
      using its return value as-is. This means that we could hit the WARN() in
      net/core/dev.c where work_done >= budget.
      
      Make sure we do exit the NAPI context when the TX ring is empty, and
      pretend there was no work to do.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      16f62d9b
    • F
      net: systemport: fix UniMAC reset logic · 412bce83
      Florian Fainelli 提交于
      The UniMAC CMD_SW_RESET bit is not a self-clearing bit, so we need to
      assert it, wait a bit and clear it manually. As a result, umac_reset()
      is updated not to return any value. The previous version of the code
      simply wrote 0 to the CMD register, which would make the busy-waiting
      loop exit immediately, having zero effect.
      
      By writing 0 to the CMD register, we were clearing all bits in the CMD
      register, and not using the hardware reset default values which are
      set on purpose.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      412bce83
    • F
      net: systemport: do not clear IFF_MULTICAST flag · 3b140a67
      Florian Fainelli 提交于
      The SYSTEMPORT Ethernet MAC supports multicast just fine, it just lacks
      any sort of Unicast/Broadcast/Multicasting filtering at the Ethernet MAC
      level since that is handled by the front end Ethernet switch, but that
      is properly handled by bcm_sysport_set_rx_mode().
      
      Some user-space applications might be relying on the presence of this
      flag to prevent using multicast sockets, this also prevents that
      interface from joining the IPv6 all-router mcast group.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3b140a67
    • E
      bnx2x: fix possible panic under memory stress · 07b0f009
      Eric Dumazet 提交于
      While it is legal to kfree(NULL), it is not wise to use :
      put_page(virt_to_head_page(NULL))
      
       BUG: unable to handle kernel paging request at ffffeba400000000
       IP: [<ffffffffc01f5928>] virt_to_head_page+0x36/0x44 [bnx2x]
      Reported-by: NMichel Lespinasse <walken@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Ariel Elior <ariel.elior@qlogic.com>
      Fixes: d46d132c ("bnx2x: use netdev_alloc_frag()")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      07b0f009
  2. 01 7月, 2014 1 次提交
    • E
      ipv4: irq safe sk_dst_[re]set() and ipv4_sk_update_pmtu() fix · 7f502361
      Eric Dumazet 提交于
      We have two different ways to handle changes to sk->sk_dst
      
      First way (used by TCP) assumes socket lock is owned by caller, and use
      no extra lock : __sk_dst_set() & __sk_dst_reset()
      
      Another way (used by UDP) uses sk_dst_lock because socket lock is not
      always taken. Note that sk_dst_lock is not softirq safe.
      
      These ways are not inter changeable for a given socket type.
      
      ipv4_sk_update_pmtu(), added in linux-3.8, added a race, as it used
      the socket lock as synchronization, but users might be UDP sockets.
      
      Instead of converting sk_dst_lock to a softirq safe version, use xchg()
      as we did for sk_rx_dst in commit e47eb5df ("udp: ipv4: do not use
      sk_dst_lock from softirq context")
      
      In a follow up patch, we probably can remove sk_dst_lock, as it is
      only used in IPv6.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Steffen Klassert <steffen.klassert@secunet.com>
      Fixes: 9cb3a50c ("ipv4: Invalidate the socket cached route on pmtu events if possible")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7f502361
  3. 28 6月, 2014 3 次提交
  4. 27 6月, 2014 3 次提交
  5. 26 6月, 2014 25 次提交