1. 13 5月, 2010 1 次提交
  2. 08 5月, 2010 2 次提交
    • C
      ar9170usb: remove deprecated aggregation code · f3926b49
      Christian Lamparter 提交于
      This patch removes the incomplete AMPDU implementation in ar9170usb.
      
      The code in question is:
       * too big and complex (more than 550 SLOC.)
         This is enough to qualify for a new separate code file!
      
       * unbalanced quantity & quality
      	over-engineered areas like:
      		* xmit scheduling and queuing frames for multiple HT peers
      		* redundant frame sorting
      	are confronted by gaping holes:
      		* accurate transmission feedback
      		* firmware error-handling and device reset
      		* HT rate control algorithm
      
       * error-prone
      	Since its inclusion, hardly anything was done to fix
      	any of the outlined flaws from the initial commit message.
      
         => This also indicates poor maintainability.
      
       * relies heavily on several spinlocks.
      
      As a result of this shortcomings, the code is slow and does not
      even support the most basic 11n requirement: HT station mode.
      
      Therefore, I request to purge my heap of **** from the kernel:
      "ar9170: implement transmit aggregation".
      
      The next item on the agenda is: (re-)start from scratch with
      an adequate design to accommodate the special requirements
      and features of the available frameworks and tools.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f3926b49
    • C
      ar9170: wait for asynchronous firmware loading · 160b8242
      Christian Lamparter 提交于
      This patch fixes a regression introduced by the following patch:
      "ar9170: load firmware asynchronously"
      
      When we kick off a firmware loading request and then unbind,
      or disconnect the usb device right away, we get into trouble:
      
      > ------------[ cut here ]------------
      > WARNING: at lib/kref.c:44 kref_get+0x1c/0x20()
      > Hardware name: 18666GU
      > Modules linked in: ar9170usb [...]
      > Pid: 6588, comm: firmware/ar9170 Not tainted 2.6.34-rc5-wl #43
      > Call Trace:
      > [<c102b05e>] ? warn_slowpath_common+0x6e/0xb0
      > [<c117c93c>] ? kref_get+0x1c/0x20
      > [<c102b0b3>] ? warn_slowpath_null+0x13/0x20
      > [<c117c93c>] ? kref_get+0x1c/0x20
      > [<c117bb2f>] ? kobject_get+0xf/0x20
      > [<c124d630>] ? get_device+0x10/0x20
      > [<c124e5a0>] ? device_add+0x60/0x530
      > [<c117b8b5>] ? kobject_init+0x25/0xa0
      > [<c12569f9>] ? _request_firmware+0x139/0x3e0
      > [<c1256cc0>] ? request_firmware_work_func+0x20/0x70
      > [<c1256ca0>] ? request_firmware_work_func+0x0/0x70
      > [<c103ff24>] ? kthread+0x74/0x80
      > [<c103feb0>] ? kthread+0x0/0x80
      > [<c1003136>] ? kernel_thread_helper+0x6/0x10
      >---[ end trace 2d50bd818f64a1b7 ]---
      - followed by a random Oops -
      
      Avoid that by waiting for the firmware loading to finish
      (whether successfully or not) before the unbind in
      ar9170_usb_disconnect.
      Reported-by: NJohannes Berg <johannes@sipsolutions.net>
      Bug-fixed-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      160b8242
  3. 01 5月, 2010 1 次提交
  4. 29 4月, 2010 1 次提交
  5. 15 4月, 2010 1 次提交
  6. 07 4月, 2010 1 次提交
  7. 01 4月, 2010 1 次提交
  8. 31 3月, 2010 2 次提交
  9. 03 3月, 2010 1 次提交
  10. 20 2月, 2010 1 次提交
  11. 09 2月, 2010 1 次提交
  12. 29 12月, 2009 1 次提交
  13. 23 12月, 2009 1 次提交
  14. 22 12月, 2009 5 次提交
  15. 19 11月, 2009 3 次提交
  16. 31 10月, 2009 1 次提交
  17. 28 10月, 2009 3 次提交
  18. 08 10月, 2009 5 次提交
  19. 30 9月, 2009 1 次提交
  20. 23 9月, 2009 1 次提交
  21. 09 9月, 2009 3 次提交
  22. 29 8月, 2009 2 次提交
  23. 20 8月, 2009 1 次提交