1. 07 3月, 2013 2 次提交
  2. 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
  3. 19 2月, 2013 1 次提交
    • L
      b43: Increase number of RX DMA slots · ccae0e50
      Larry Finger 提交于
      Bastian Bittorf reported that some of the silent freezes on a Linksys WRT54G
      were due to overflow of the RX DMA ring buffer, which was created with 64
      slots. That finding reminded me that I was seeing similar crashed on a netbook,
      which also has a relatively slow processor. After increasing the number of
      slots to 128, runs on the netbook that previously failed now worked; however,
      I found that 109 slots had been used in one test. For that reason, the number
      of slots is being increased to 256.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Bastian Bittorf <bittorf@bluebottle.com>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ccae0e50
  4. 23 1月, 2013 2 次提交
  5. 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
  6. 11 12月, 2012 1 次提交
  7. 07 12月, 2012 1 次提交
  8. 14 11月, 2012 1 次提交
  9. 25 10月, 2012 1 次提交
  10. 20 10月, 2012 1 次提交
  11. 01 9月, 2012 1 次提交
  12. 11 8月, 2012 1 次提交
  13. 07 8月, 2012 8 次提交
  14. 03 8月, 2012 1 次提交
  15. 31 7月, 2012 1 次提交
  16. 18 7月, 2012 2 次提交
  17. 10 7月, 2012 1 次提交
  18. 25 6月, 2012 1 次提交
  19. 09 6月, 2012 1 次提交
  20. 17 5月, 2012 3 次提交
  21. 28 4月, 2012 1 次提交
  22. 22 4月, 2012 1 次提交
  23. 14 4月, 2012 1 次提交
  24. 11 4月, 2012 2 次提交
  25. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  26. 14 3月, 2012 1 次提交
  27. 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