1. 23 5月, 2014 1 次提交
  2. 20 5月, 2014 6 次提交
  3. 14 5月, 2014 1 次提交
  4. 01 5月, 2014 2 次提交
  5. 23 4月, 2014 2 次提交
  6. 04 3月, 2014 1 次提交
  7. 14 1月, 2014 2 次提交
    • 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
    • L
      b43: Fix lockdep splat · 09164043
      Larry Finger 提交于
      In https://bugzilla.kernel.org/show_bug.cgi?id=67561, a locking dependency is reported
      when b43 is used with hostapd, and rfkill is used to kill the radio output.
      
      The lockdep splat (in part) is as follows:
      
      ======================================================
      [ INFO: possible circular locking dependency detected ]
      3.12.0 #1 Not tainted
      -------------------------------------------------------
      rfkill/10040 is trying to acquire lock:
       (rtnl_mutex){+.+.+.}, at: [<ffffffff8146f282>] rtnl_lock+0x12/0x20
      
      but task is already holding lock:
       (rfkill_global_mutex){+.+.+.}, at: [<ffffffffa04832ca>] rfkill_fop_write+0x6a/0x170 [rfkill]
      
      --snip--
      
      Chain exists of:
        rtnl_mutex --> misc_mtx --> rfkill_global_mutex
      
      The fix is to move the initialization of the hardware random number generator
      outside the code range covered by the rtnl_mutex.
      Reported-by: Nyury <urykhy@gmail.com>
      Tested-by: Nyury <urykhy@gmail.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      09164043
  8. 27 8月, 2013 1 次提交
  9. 28 6月, 2013 1 次提交
  10. 12 6月, 2013 1 次提交
  11. 09 5月, 2013 1 次提交
  12. 28 3月, 2013 1 次提交
  13. 26 3月, 2013 2 次提交
  14. 07 3月, 2013 1 次提交
  15. 26 2月, 2013 1 次提交
    • L
      b43: Fix lockdep splat on module unload · 63a02ce1
      Larry Finger 提交于
      On unload, b43 produces a lockdep warning that can be summarized in the
      following way:
      
       ======================================================
       [ INFO: possible circular locking dependency detected ]
       3.8.0-wl+ #117 Not tainted
       -------------------------------------------------------
       modprobe/5557 is trying to acquire lock:
        ((&wl->firmware_load)){+.+.+.}, at: [<ffffffff81062160>] flush_work+0x0/0x2a0
      
       but task is already holding lock:
        (rtnl_mutex){+.+.+.}, at: [<ffffffff813bd7d2>] rtnl_lock+0x12/0x20
      
       which lock already depends on the new lock.
       [ INFO: possible circular locking dependency detected ]
       ======================================================
      
      The full output is available at http://lkml.indiana.edu/hypermail/linux/kernel/1302.3/00060.html.
      To summarize, commit 6b6fa586 added a 'cancel_work_sync(&wl->firmware_load)'
      call in the wrong place.
      
      The fix is to move the cancel_work_sync() call to b43_bcma_remove() and
      b43_ssb_remove(). Thanks to Johannes Berg and Michael Buesch for help in
      diagnosing the log output.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@vger.kernel.org> [V3.5+]
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      63a02ce1
  16. 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
  17. 11 12月, 2012 1 次提交
  18. 25 10月, 2012 1 次提交
  19. 20 10月, 2012 1 次提交
  20. 07 8月, 2012 2 次提交
  21. 03 8月, 2012 1 次提交
  22. 31 7月, 2012 1 次提交
  23. 18 7月, 2012 1 次提交
  24. 25 6月, 2012 1 次提交
  25. 09 6月, 2012 1 次提交
  26. 17 5月, 2012 1 次提交
  27. 28 4月, 2012 1 次提交
  28. 11 4月, 2012 1 次提交
  29. 14 3月, 2012 1 次提交
  30. 06 3月, 2012 1 次提交
    • H
      b43: prevent firmware on bcm5354 from taking over wrong GPIO pins · 58098021
      Hauke Mehrtens 提交于
      When using the bcm5354 (Soc with integrated LP-PHY Wifi) with a recent
      firmware >= 478.104 it runs out of memory after a very short time in
      OpenWrt after doing an active scan or any thing else where packages are
      send. This was cased by a gpio misconfiguration, the firmware triggered
      the GPIO pins used for buttons on some devices and that caused an other
      driver (OpenWrt diag) listening for these buttons irqs to send many
      messages to the user space.
      This patch fixes the bug for my devices (Asus WL-520GU) and makes it
      work with firmware 666.2. Now the firmware just uses LED GPIO pin
      number 1 and not the button pins any more.
      
      This is the GPIO Pin layout used on my device, see [0].
      GPIO pin layout:
      pin#    name    type
      0       power   led
      1       wlan    led
      2       reset   button
      3       ses     buttom
      
      This is the nvram configuration output of "nvram show |grep gpio"
      
      related nvram configuration:
      wl0gpio2=11
      wl0gpio3=11
      wl0gpio0=11
      wl0gpio1=0x02
      reset_gpio=2
      
      [0]: https://dev.openwrt.org/browser/trunk/package/broadcom-diag/src/diag.cSigned-off-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      58098021