1. 01 9月, 2016 3 次提交
  2. 19 10月, 2015 1 次提交
  3. 28 2月, 2015 1 次提交
  4. 22 11月, 2014 1 次提交
  5. 08 11月, 2014 1 次提交
    • C
      asix: Do full reset during ax88772_bind · 436c2a50
      Charles Keepax 提交于
      commit 3cc81d85 ("asix: Don't reset PHY on if_up for ASIX 88772")
      causes the ethernet on Arndale to no longer function. This appears to
      be because the Arndale ethernet requires a full reset before it will
      function correctly, however simply reverting the above patch causes
      problems with ethtool settings getting reset.
      
      It seems the problem is that the ethernet is not properly reset during
      bind, and indeed the code in ax88772_bind that resets the device is a
      very small subset of the actual ax88772_reset function. This patch uses
      ax88772_reset in place of the existing reset code in ax88772_bind which
      removes some code duplication and fixes the ethernet on Arndale.
      
      It is still possible that the original patch causes some issues with
      suspend and resume but that seems like a separate issue and I haven't
      had a chance to test that yet.
      Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
      Tested-by: NRiku Voipio <riku.voipio@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      436c2a50
  6. 04 10月, 2014 1 次提交
  7. 15 2月, 2014 1 次提交
  8. 07 12月, 2013 1 次提交
  9. 14 8月, 2013 1 次提交
  10. 28 7月, 2013 1 次提交
    • M
      USBNET: centralize computing of max rx/tx qlen · a88c32ae
      Ming Lei 提交于
      This patch centralizes computing of max rx/tx qlen, because:
      
      - RX_QLEN()/TX_QLEN() is called in hot path
      - computing depends on device's usb speed, now we have ls/fs, hs, ss,
      so more checks need to be involved
      - in fact, max rx/tx qlen should not only depend on device USB
      speed, but also depend on ethernet link speed, so we need to
      consider that in future.
      - if SG support is done, max tx qlen may need change too
      
      Generally, hard_mtu and rx_urb_size are changed in bind(), reset()
      and link_reset() callback, and change mtu network operation, this
      patches introduces the API of usbnet_update_max_qlen(), and calls
      it in above path.
      Signed-off-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a88c32ae
  11. 12 4月, 2013 1 次提交
  12. 28 2月, 2013 1 次提交
    • G
      usb/net/asix_devices: Add USBNET HG20F9 ethernet dongle · 45af3fb4
      Glen Turner 提交于
      This USB ethernet adapter was purchased in anodyne packaging
      from the computer store adjacent to linux.conf.au 2013 in
      Canberra (Australia). A web search shows other recent
      purchasers in Lancaster (UK) and Seattle (USA). Just like an
      emergent virus, our age of e-commerce and airmail allows
      underdocumented hardware to spread around the world instantly
      using the vector of ridiculously low prices.
      
      Paige Thompson, infected via eBay, discovered that the HG20F9
      is a copy of the Asix 88772B; many viruses copy the RNA of
      other viruses. See Paige's work at
      <https://github.com/paigeadele/HG20F9>.
      This patch uses her discovery to update the restructured Asix
      driver in the current kernel.
      
      Just as some viruses inhabit seemingly-healthy cells, the
      HG20F9 uses the Vendor ID 0x066b assigned to Linksys Inc.
      For the present there is no clash of Product ID 0x20f9.
      Signed-off-by: NGlen Turner <gdt@gdt.id.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      45af3fb4
  13. 20 1月, 2013 1 次提交
  14. 19 1月, 2013 2 次提交
  15. 24 11月, 2012 1 次提交
  16. 02 10月, 2012 1 次提交
  17. 21 9月, 2012 1 次提交
  18. 20 9月, 2012 1 次提交
  19. 20 7月, 2012 2 次提交
  20. 17 7月, 2012 3 次提交
  21. 08 7月, 2012 1 次提交
    • E
      asix: avoid copies in tx path · 95162d65
      Eric Dumazet 提交于
      I noticed excess calls to skb_copy_expand() or memmove() in asix driver.
      
      This driver needs to push 4 bytes in front of frame (packet_len)
      and maybe add 4 bytes after the end (if padlen is 4)
      
      So it should set needed_headroom & needed_tailroom to avoid
      copies. But its not enough, because many packets are cloned
      before entering asix_tx_fixup() and this driver use skb_cloned()
      as a lazy way to check if it can push and put additional bytes in frame.
      
      Avoid skb_copy_expand() expensive call, using following rules :
      
      - We are allowed to push 4 bytes in headroom if skb_header_cloned()
        is false (and if we have 4 bytes of headroom)
      
      - We are allowed to put 4 bytes at tail if skb_cloned()
        is false (and if we have 4 bytes of tailroom)
      
      TCP packets for example are cloned, but skb_header_release()
      was called in tcp stack, allowing us to use headroom for our needs.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Allan Chou <allan@asix.com.tw>
      Cc: Trond Wuellner <trond@chromium.org>
      Cc: Grant Grundler <grundler@chromium.org>
      Cc: Paul Stewart <pstew@chromium.org>
      Cc: Ming Lei <tom.leiming@gmail.com>
      Tested-by: NMing Lei <ming.lei@canonical.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      95162d65
  22. 30 5月, 2012 1 次提交
  23. 19 5月, 2012 1 次提交
    • S
      USB: Disable hub-initiated LPM for comms devices. · e1f12eb6
      Sarah Sharp 提交于
      Hub-initiated LPM is not good for USB communications devices.  Comms
      devices should be able to tell when their link can go into a lower power
      state, because they know when an incoming transmission is finished.
      Ideally, these devices would slam their links into a lower power state,
      using the device-initiated LPM, after finishing the last packet of their
      data transfer.
      
      If we enable the idle timeouts for the parent hubs to enable
      hub-initiated LPM, we will get a lot of useless LPM packets on the bus
      as the devices reject LPM transitions when they're in the middle of
      receiving data.  Worse, some devices might blindly accept the
      hub-initiated LPM and power down their radios while they're in the
      middle of receiving a transmission.
      
      The Intel Windows folks are disabling hub-initiated LPM for all USB
      communications devices under a xHCI USB 3.0 host.  In order to keep
      the Linux behavior as close as possible to Windows, we need to do the
      same in Linux.
      
      Set the disable_hub_initiated_lpm flag for for all USB communications
      drivers.  I know there aren't currently any USB 3.0 devices that
      implement these class specifications, but we should be ready if they do.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Hansjoerg Lipp <hjlipp@web.de>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Jan Dumon <j.dumon@option.com>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
      Cc: Jouni Malinen <jouni@qca.qualcomm.com>
      Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
      Cc: Kan Yan <kanyan@broadcom.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Daniel Drake <dsd@gentoo.org>
      Cc: Ulrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      e1f12eb6
  24. 24 4月, 2012 1 次提交
  25. 16 3月, 2012 1 次提交
    • E
      asix: asix_rx_fixup surgery to reduce skb truesizes · a9e0aca4
      Eric Dumazet 提交于
      asix_rx_fixup() is complex, and does some unnecessary memory copies (at
      least on x86 where NET_IP_ALIGN is 0)
      
      Also, it tends to provide skbs with a big truesize (4096+256 with
      MTU=1500) to upper stack, so incoming trafic consume a lot of memory and
      I noticed early packet drops because we hit socket rcvbuf too fast.
      
      Switch to a different strategy, using copybreak so that we provide nice
      skbs to upper stack (including the NET_SKB_PAD to avoid future head
      reallocations in some paths)
      
      With this patch, I no longer see packets drops or tcp collapses on
      various tcp workload with a AX88772 adapter.
      Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com>
      Cc: Aurelien Jacobs <aurel@gnuage.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Trond Wuellner <trond@chromium.org>
      Cc: Grant Grundler <grundler@chromium.org>
      Cc: Paul Stewart <pstew@chromium.org>
      Reviewed-by: NGrant Grundler <grundler@chromium.org>
      Reviewed-by: NGrant Grundler <grundler@chromium.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a9e0aca4
  26. 12 3月, 2012 1 次提交
  27. 11 1月, 2012 2 次提交
  28. 10 1月, 2012 1 次提交
  29. 08 1月, 2012 1 次提交
  30. 24 12月, 2011 1 次提交
  31. 20 12月, 2011 1 次提交
  32. 19 11月, 2011 1 次提交
    • G
      USB: convert drivers/net/* to use module_usb_driver() · d632eb1b
      Greg Kroah-Hartman 提交于
      This converts the drivers in drivers/net/* to use the
      module_usb_driver() macro which makes the code smaller and a bit
      simpler.
      
      Added bonus is that it removes some unneeded kernel log messages about
      drivers loading and/or unloading.
      
      Cc: Wolfgang Grandegger <wg@grandegger.com>
      Cc: Samuel Ortiz <samuel@sortiz.org>
      Cc: Oliver Neukum <oliver@neukum.name>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Lucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Roel Kluin <roel.kluin@gmail.com>
      Cc: Paul Gortmaker <paul.gortmaker@windriver.com>
      Cc: Jiri Pirko <jpirko@redhat.com>
      Cc: Pavel Roskin <proski@gnu.org>
      Cc: Yoann DI-RUZZA <y.diruzza@lim.eu>
      Cc: George <george0505@realtek.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d632eb1b
  33. 16 11月, 2011 1 次提交