1. 29 1月, 2015 1 次提交
    • M
      b43: Fix locking FIXME in beacon update top half · a75d46a4
      Michael Büsch 提交于
      b43 has a FIXME about locking in the mac80211 set-beacon-int callback for a long time.
      As it turns out there actually is a tiny race window that could result in
      a use-after-free bug of the 'current_beacon' memory.
      Nobody ever reported this, so it probably never happened.
      
      Fix this by adding a spin lock that protects the current_beacon access.
      We must not be in atomic context while accessing hardware (due to SDIO),
      so the beacon update bottom half has to clone the skb and release the lock
      before writing it to hardware.
      
      Let's all hope that this stops the troll who is trying to submit incorrect
      fixes for this issue repeatedly.
      And let's hope that I'm not a troll, too, who just hides even more evil code
      in an even more complex attempt to fix the issue.
      Signed-off-by: NMichael Buesch <m@bues.ch>
      Tested-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a75d46a4
  2. 16 9月, 2014 3 次提交
  3. 26 8月, 2014 3 次提交
  4. 23 4月, 2014 1 次提交
  5. 14 1月, 2014 1 次提交
    • L
      b43: Fix unload oops if firmware is not available · 0673effd
      Larry Finger 提交于
      The asyncronous firmware load uses a completion struct to hold firmware
      processing until the user-space routines are up and running. There is.
      however, a problem in that the waiter is nevered canceled during teardown.
      As a result, unloading the driver when firmware is not available causes an oops.
      
      To be able to access the completion structure at teardown, it had to be moved
      into the b43_wldev structure.
      
      This patch also fixes a typo in a comment.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0673effd
  6. 28 3月, 2013 1 次提交
  7. 26 3月, 2013 1 次提交
  8. 07 3月, 2013 1 次提交
  9. 08 1月, 2013 1 次提交
    • L
      b43: Fix firmware loading when driver is built into the kernel · 5e20a4b5
      Larry Finger 提交于
      Recent versions of udev cause synchronous firmware loading from the
      probe routine to fail because the request to user space would time
      out. The original fix for b43 (commit 6b6fa586) moved the firmware
      load from the probe routine to a work queue, but it still used synchronous
      firmware loading. This method is OK when b43 is built as a module;
      however, it fails when the driver is compiled into the kernel.
      
      This version changes the code to load the initial firmware file
      using request_firmware_nowait(). A completion event is used to
      hold the work queue until that file is available. This driver
      reads several firmware files - the remainder can be read synchronously.
      On some test systems, the async read fails; however, a following synch
      read works, thus the async failure falls through to the sync try.
      
      Reported-and-Tested by: Felix Janda <felix.janda@posteo.de>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>  (V3.4+)
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5e20a4b5
  10. 07 8月, 2012 2 次提交
  11. 18 7月, 2012 1 次提交
  12. 09 6月, 2012 1 次提交
  13. 14 3月, 2012 1 次提交
  14. 25 1月, 2012 1 次提交
  15. 05 1月, 2012 1 次提交
  16. 20 12月, 2011 1 次提交
  17. 01 11月, 2011 1 次提交
  18. 28 9月, 2011 1 次提交
  19. 14 9月, 2011 1 次提交
  20. 26 8月, 2011 1 次提交
  21. 25 8月, 2011 2 次提交
  22. 23 8月, 2011 2 次提交
  23. 22 7月, 2011 1 次提交
  24. 20 7月, 2011 1 次提交
  25. 08 7月, 2011 1 次提交
  26. 18 6月, 2011 1 次提交
  27. 04 6月, 2011 2 次提交
  28. 02 6月, 2011 3 次提交
  29. 23 5月, 2011 1 次提交
  30. 20 5月, 2011 1 次提交