1. 17 3月, 2015 1 次提交
  2. 31 10月, 2014 1 次提交
  3. 16 7月, 2014 1 次提交
  4. 08 7月, 2014 1 次提交
    • A
      rt2800usb: Don't perform DMA from stack · 2c4db12e
      Andrea Merello 提交于
      Function rt2800usb_autorun_detect() passes the address of a variable
      allocated onto the stack to be used for DMA by the USB layer. This has
      been caught by my debugging-enabled kernel.
      
      This patch change things in order to allocate that variable via
      kmalloc, and it adjusts things to handle the kmalloc failure case,
      propagating the error.
      
      [ 7363.238852] ------------[ cut here ]------------
      [ 7363.243529] WARNING: CPU: 1 PID: 5235 at lib/dma-debug.c:1153 check_for_stack+0xa4/0xf0()
      [ 7363.251759] ehci-pci 0000:00:04.1: DMA-API: device driver maps memory fromstack [addr=ffff88006b81bad4]
      [ 7363.261210] Modules linked in: rt2800usb(O+) rt2800lib(O) rt2x00usb(O) rt2x00lib(O) rtl818x_pci(O) rtl8187 led_class eeprom_93cx6 mac80211 cfg80211 [last unloaded: rt2x00lib]
      [ 7363.277143] CPU: 1 PID: 5235 Comm: systemd-udevd Tainted: G           O  3.16.0-rc3-wl+ #31
      [ 7363.285546] Hardware name: System manufacturer System Product Name/M3N78 PRO, BIOS ASUS M3N78 PRO ACPI BIOS Revision 1402 12/04/2009
      [ 7363.297511]  0000000000000009 ffff88006b81b710 ffffffff8175dcad ffff88006b81b758
      [ 7363.305062]  ffff88006b81b748 ffffffff8106d372 ffff88006cf10098 ffff88006cead6a0
      [ 7363.312622]  ffff88006b81bad4 ffffffff81c1e7c0 ffff88006cf10098 ffff88006b81b7a8
      [ 7363.320161] Call Trace:
      [ 7363.322661]  [<ffffffff8175dcad>] dump_stack+0x4d/0x6f
      [ 7363.327847]  [<ffffffff8106d372>] warn_slowpath_common+0x82/0xb0
      [ 7363.333893]  [<ffffffff8106d3e7>] warn_slowpath_fmt+0x47/0x50
      [ 7363.339686]  [<ffffffff813a93b4>] check_for_stack+0xa4/0xf0
      [ 7363.345298]  [<ffffffff813a995c>] debug_dma_map_page+0x10c/0x150
      [ 7363.351367]  [<ffffffff81521bd9>] usb_hcd_map_urb_for_dma+0x229/0x720
      [ 7363.357890]  [<ffffffff8152256d>] usb_hcd_submit_urb+0x2fd/0x930
      [ 7363.363929]  [<ffffffff810eac31>] ? irq_work_queue+0x71/0xd0
      [ 7363.369617]  [<ffffffff810ab5a7>] ? wake_up_klogd+0x37/0x50
      [ 7363.375219]  [<ffffffff810ab7a5>] ? console_unlock+0x1e5/0x420
      [ 7363.381081]  [<ffffffff810abc25>] ? vprintk_emit+0x245/0x530
      [ 7363.386773]  [<ffffffff81523d3c>] usb_submit_urb+0x30c/0x580
      [ 7363.392462]  [<ffffffff81524295>] usb_start_wait_urb+0x65/0xf0
      [ 7363.398325]  [<ffffffff815243ed>] usb_control_msg+0xcd/0x110
      [ 7363.404014]  [<ffffffffa005514d>] rt2x00usb_vendor_request+0xbd/0x170 [rt2x00usb]
      [ 7363.411544]  [<ffffffffa0074292>] rt2800usb_autorun_detect+0x32/0x50 [rt2800usb]
      [ 7363.418986]  [<ffffffffa0074aa1>] rt2800usb_read_eeprom+0x11/0x70 [rt2800usb]
      [ 7363.426168]  [<ffffffffa0063ffd>] rt2800_probe_hw+0x11d/0xf90 [rt2800lib]
      [ 7363.432989]  [<ffffffffa0074b7d>] rt2800usb_probe_hw+0xd/0x50 [rt2800usb]
      [ 7363.439808]  [<ffffffffa00453d8>] rt2x00lib_probe_dev+0x238/0x7c0 [rt2x00lib]
      [ 7363.446992]  [<ffffffffa00bfa48>] ? ieee80211_led_names+0xb8/0x100 [mac80211]
      [ 7363.454156]  [<ffffffffa0056116>] rt2x00usb_probe+0x156/0x1f0 [rt2x00usb]
      [ 7363.460971]  [<ffffffffa0074250>] rt2800usb_probe+0x10/0x20 [rt2800usb]
      [ 7363.467616]  [<ffffffff8152799e>] usb_probe_interface+0xce/0x1c0
      [ 7363.473651]  [<ffffffff81480c20>] really_probe+0x70/0x240
      [ 7363.479079]  [<ffffffff81480f01>] __driver_attach+0xa1/0xb0
      [ 7363.484682]  [<ffffffff81480e60>] ? __device_attach+0x70/0x70
      [ 7363.490461]  [<ffffffff8147eef3>] bus_for_each_dev+0x63/0xa0
      [ 7363.496146]  [<ffffffff814807c9>] driver_attach+0x19/0x20
      [ 7363.501570]  [<ffffffff81480468>] bus_add_driver+0x178/0x220
      [ 7363.507270]  [<ffffffff8148151b>] driver_register+0x5b/0xe0
      [ 7363.512874]  [<ffffffff815271b0>] usb_register_driver+0xa0/0x170
      [ 7363.518905]  [<ffffffffa007a000>] ? 0xffffffffa0079fff
      [ 7363.524074]  [<ffffffffa007a01e>] rt2800usb_driver_init+0x1e/0x20 [rt2800usb]
      [ 7363.531247]  [<ffffffff810002d4>] do_one_initcall+0x84/0x1b0
      [ 7363.536932]  [<ffffffff8113aa60>] ? kfree+0xd0/0x110
      [ 7363.541931]  [<ffffffff8112730a>] ? __vunmap+0xaa/0xf0
      [ 7363.547538]  [<ffffffff810ca07e>] load_module+0x1aee/0x2040
      [ 7363.553141]  [<ffffffff810c6f10>] ? store_uevent+0x50/0x50
      [ 7363.558676]  [<ffffffff810ca66e>] SyS_init_module+0x9e/0xc0
      [ 7363.564285]  [<ffffffff81764012>] system_call_fastpath+0x16/0x1b
      [ 7363.570338] ---[ end trace 01ef5f822bea9882 ]---
      Signed-off-by: NAndrea Merello <andrea.merello@gmail.com>
      Acked-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2c4db12e
  5. 18 6月, 2014 2 次提交
  6. 07 3月, 2014 1 次提交
    • T
      wireless/rt2x00: don't use PREPARE_WORK in rt2800usb.c · d82fead4
      Tejun Heo 提交于
      PREPARE_[DELAYED_]WORK() are being phased out.  They have few users
      and a nasty surprise in terms of reentrancy guarantee as workqueue
      considers work items to be different if they don't have the same work
      function.
      
      Update rt2800usb.c to use INIT_WORK() instead of PREPARE_WORK().  As
      the work item isn't in active use during rt2800usb_probe_hw(), this
      doesn't cause any behavior difference.
      
      It would probably be best to route this with other related updates
      through the workqueue tree.
      
      Only compile tested.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: linux-wireless@vger.kernel.org
      d82fead4
  7. 25 2月, 2014 1 次提交
    • T
      wireless/rt2x00: don't use PREPARE_WORK in rt2800usb.c · 434bb46c
      Tejun Heo 提交于
      PREPARE_[DELAYED_]WORK() are being phased out.  They have few users
      and a nasty surprise in terms of reentrancy guarantee as workqueue
      considers work items to be different if they don't have the same work
      function.
      
      Update rt2800usb.c to use INIT_WORK() instead of PREPARE_WORK().  As
      the work item isn't in active use during rt2800usb_probe_hw(), this
      doesn't cause any behavior difference.
      
      It would probably be best to route this with other related updates
      through the workqueue tree.
      
      Only compile tested.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      434bb46c
  8. 13 2月, 2014 1 次提交
  9. 24 1月, 2014 1 次提交
  10. 04 1月, 2014 1 次提交
  11. 11 12月, 2013 1 次提交
  12. 15 11月, 2013 1 次提交
    • S
      kfifo API type safety · 498d319b
      Stefani Seibold 提交于
      This patch enhances the type safety for the kfifo API.  It is now safe
      to put const data into a non const FIFO and the API will now generate a
      compiler warning when reading from the fifo where the destination
      address is pointing to a const variable.
      
      As a side effect the kfifo_put() does now expect the value of an element
      instead a pointer to the element.  This was suggested Russell King.  It
      make the handling of the kfifo_put easier since there is no need to
      create a helper variable for getting the address of a pointer or to pass
      integers of different sizes.
      
      IMHO the API break is okay, since there are currently only six users of
      kfifo_put().
      
      The code is also cleaner by kicking out the "if (0)" expressions.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NStefani Seibold <stefani@seibold.net>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Hauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      498d319b
  13. 19 10月, 2013 1 次提交
    • S
      rt2800usb: slow down TX status polling · 36165fd5
      Stanislaw Gruszka 提交于
      Polling TX statuses too frequently has two negative effects. First is
      randomly peek CPU usage, causing overall system functioning delays.
      Second bad effect is that device is not able to fill TX statuses in
      H/W register on some workloads and we get lot of timeouts like below:
      
      ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
      ieee80211 phy4: rt2800usb_entry_txstatus_timeout: Warning - TX status timeout for entry 7 in queue 2
      ieee80211 phy4: rt2800usb_txdone: Warning - Got TX status for an empty queue 2, dropping
      
      This not only cause flood of messages in dmesg, but also bad throughput,
      since rate scaling algorithm can not work optimally.
      
      In the future, we should probably make polling interval be adjusted
      automatically, but for now just increase values, this make mentioned
      problems gone.
      
      Resolve:
      https://bugzilla.kernel.org/show_bug.cgi?id=62781
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NStanislaw Gruszka <sgruszka@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      36165fd5
  14. 04 10月, 2013 1 次提交
    • X
      wireless: rt2x00: rt2800usb: add new devices · 274dede8
      Xose Vazquez Perez 提交于
      0411,0241  RT5572  BUFFALO WI-U2-300D Wireless LAN Adapter
      0789,0170  RT3572  Logitec LAN-W300AN/U2
      0846,9013  RT3573  NETGEAR Adaptador USB Inalambrico Movistar
      0df6,006e  RT3573  Sitecom WiFi USB adapter N900
      2001,3c1f  RT3573  D-Link DWA-162 Wireless N900 Dual Band Adapter
      2001,3c20  RT5372  D-Link DWA-140 Wireless N USB Adapter(rev.D)
      2001,3c21  RT5572  D-Link DWA-160 Xtreme N Dual Band USB Adapter(rev.C)
      2001,3c22  RT5372  D-Link DWA-132 Wireless N USB Adapter(rev.B)
      2001,3c23  RT5372  D-Link GO-USB-N300 Wireless N Easy USB Adapter
      2019,ab29  ?       Planex GW-USMirco300
      20f4,724a  RT5572  TRENDnet N600 Wireless Dual Band USB Adapter
      
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: users@rt2x00.serialmonkey.com
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: NXose Vazquez Perez <xose.vazquez@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      274dede8
  15. 29 8月, 2013 1 次提交
  16. 17 8月, 2013 1 次提交
  17. 24 7月, 2013 1 次提交
    • X
      wireless: rt2x00: rt2800usb: add RT3573 devices · 63706526
      Xose Vazquez Perez 提交于
      taken from Ralink linux and windows drivers:
      
      0x1b75, 0x7733 AirLive 450Mbps Wireless-N Dual Band USB Adapter
      0x0b05, 0x17bc ASUS USB-N66 450Mbps Dual Band USB Adapter
      0x0b05, 0x17ad ASUS USB-N66 Dual Band N Network Adapter
      0x050d, 0x1103 Belkin Wireless Adapter
      0x148f, 0xf301 Cameo Ralink3573 3x3 single band USB dongle
      0x7392, 0x7733 Edimax
      0x0e66, 0x0020 Hawking HD45U Dual Band USB Wireless-N Adapter
      0x0e66, 0x0021 Hawking HD45U Dual Band Wls-450N Adapter
      0x04bb, 0x094e I-O DATA WN-AG450U Wireless LAN Adapter
      0x0789, 0x016b Logitec LAN-W450AN/U2
      0x0846, 0x9012 NETGEAR WNDA4100 N900 Wireless Dual Band USB Adapter
      0x0846, 0x9019 NETGEAR WNDA4200D Wireless Dual Band USB Adapter
      0x2019, 0xed19 Planex GW-USDual450
      0x148f, 0x3573 Ralink 802.11n USB Wireless LAN Card
      0x0df6, 0x0067 Sitecom Wireless Dualband Network Adapter N750 X6
      0x0df6, 0x006a Sitecom Wireless Dualband Network Adapter N900 X7
      0x0586, 0x3421 ZyXEL Dual-Band Wireless N450 USB Adapter
      
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: users@rt2x00.serialmonkey.com
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: NXose Vazquez Perez <xose.vazquez@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      63706526
  18. 23 7月, 2013 2 次提交
  19. 25 6月, 2013 1 次提交
  20. 13 6月, 2013 3 次提交
  21. 23 5月, 2013 1 次提交
  22. 23 4月, 2013 2 次提交
    • J
      rt2x00: Use more current logging styles, shrink object size · ec9c4989
      Joe Perches 提交于
      Reduce object space ~2% using more current logging styles.
      
      Neaten and simplify logging macros.
      Use wiphy_<level> where appropriate.
      Coalesce formats.
      
      Convert ERROR/WARNING/INFO macros to rt2x00_<level>
      Convert EEPROM to rt2x00_eeprom_dbg
      Convert PROBE_ERROR to rt2x00_probe_err
      Convert DEBUG to rt2x00_dbg
      Convert EEPROM to rt2x00_eeprom_dbg
      
      $ size drivers/net/wireless/rt2x00/built-in.o*
         text	   data	    bss	    dec	    hex	filename
       245639	  71696	  69584	 386919	  5e767	drivers/net/wireless/rt2x00/built-in.o.new
       240609	  70096	  68944	 379649	  5cb01	drivers/net/wireless/rt2x00/built-in.o.new.nodyndbg
       240609	  70096	  68944	 379649	  5cb01	drivers/net/wireless/rt2x00/built-in.o.new.no_rt2x00_debug
       249198	  70096	  70352	 389646	  5f20e	drivers/net/wireless/rt2x00/built-in.o.old
       249198	  70096	  70352	 389646	  5f20e	drivers/net/wireless/rt2x00/built-in.o.old.nodyndbg
       244222	  70096	  69712	 384030	  5dc1e	drivers/net/wireless/rt2x00/built-in.o.old.no_rt2x00_debug
      Signed-off-by: NJoe Perches <joe@perches.com>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ec9c4989
    • S
      rt2x00: provide separate information about TXWI & RXWI sizes · f0bda571
      Stanislaw Gruszka 提交于
      On new 2800 hardware sizes of TXWI & RXIW can be different than TXD
      & RXD sizes, so we need to difference between them. Let's define
      winfo_size as size of in buffer descriptor (TXWI & RXWI), and desc_size
      of as size of additional descriptor - in separate DMA coherent buffer
      for PCI hardware (TXD & RXD) and yet another in buffer descriptor for
      USB hardware (TXINFO & RXINFO).
      
      Change is rt2x00 wild, but should affect only 2800 driver.
      
      Patch also fix beaconing for 5592usb AP mode.
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f0bda571
  23. 19 3月, 2013 3 次提交
  24. 12 2月, 2013 1 次提交
    • X
      wireless: rt2x00: rt2800usb add "unknown" devices · d9d76a04
      Xose Vazquez Perez 提交于
      0x06f8, 0xe036 Hercules  Wireless Dual Band 600 USB Key HWNUm-600
      0x0b05, 0x17a7 ASUS      USB-N10H 150Mbps 11n Wireless USB dongle
      0x0df6, 0x0069 Sitecom   Wireless Dualband Network Adapter 300N X5 WLA-5000
      0x0df6, 0x006f Sitecom   WiFi USB adapter N600 WLA-5100
      0x13d3, 0x3340 AzureWave 802.11n USB Wireless LAN Card
      0x13d3, 0x3399 AzureWave 802.11n USB Wireless LAN Card
      0x13d3, 0x3400 AzureWave 802.11n USB Wireless LAN Card
      0x13d3, 0x3401 AzureWave 802.11n USB Wireless LAN Card
      0x1740, 0x0600 EnGenius  Dual-Band Wireless Media Adapter
      0x1740, 0x0602 EnGenius  802.11 a/b/g/n Wireless USB Adapter
      0x177f, 0x0254 Sweex     LW054 Wireless 54G Adapter USB
      0xf201, 0x5370 TP-LINK   54Mbps Wireless USB Adapter
      
      no RF3053, and I believe no RT5572.
      
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: John W. Linville <linville@tuxdriver.com>
      Cc: users@rt2x00.serialmonkey.com
      Cc: linux-wireless@vger.kernel.org
      Signed-off-by: NXose Vazquez Perez <xose.vazquez@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d9d76a04
  25. 09 2月, 2013 1 次提交
  26. 02 2月, 2013 1 次提交
  27. 31 1月, 2013 1 次提交
  28. 08 1月, 2013 1 次提交
  29. 12 12月, 2012 1 次提交
  30. 11 12月, 2012 1 次提交
  31. 15 11月, 2012 1 次提交
  32. 25 10月, 2012 1 次提交
  33. 26 9月, 2012 1 次提交