linux/drivers/net/wireless/b43
Hauke Mehrtens 5809802180 b43: prevent firmware on bcm5354 from taking over wrong GPIO pins
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.c

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-03-05 15:23:14 -05:00
..
Kconfig b43: add option to avoid duplicating device support with brcmsmac 2012-01-18 14:49:47 -05:00
Makefile b43: LCN-PHY add place for new PHY support 2011-07-08 11:11:25 -04:00
b43.h b43: add maskset helpers 2012-01-24 14:06:05 -05:00
bus.c b43: add my copyrights and myself as the module author 2011-09-14 13:56:25 -04:00
bus.h b43: bus: add helpers for getting/setting wldev from/in bus core 2011-07-08 11:11:21 -04:00
debugfs.c
debugfs.h
dma.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-01-03 15:16:34 -05:00
dma.h b43: use 8K buffers for 64-bit DMA to workaround hardware bug 2011-08-29 15:33:02 -04:00
leds.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
leds.h
lo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
lo.h
main.c b43: prevent firmware on bcm5354 from taking over wrong GPIO pins 2012-03-05 15:23:14 -05:00
main.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
pcmcia.c drivers/net: Add module.h to drivers who were implicitly using it 2011-10-31 19:31:07 -04:00
pcmcia.h
phy_a.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
phy_a.h
phy_common.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
phy_common.h b43: make forcing clock common (HT-PHY also uses that) 2011-08-22 14:45:59 -04:00
phy_g.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
phy_g.h
phy_ht.c b43: add my copyrights and myself as the module author 2011-09-14 13:56:25 -04:00
phy_ht.h b43: HT-PHY: read clip state 2011-08-26 10:47:57 -04:00
phy_lcn.c b43: LCN-PHY: minor clean ups 2011-09-27 14:34:02 -04:00
phy_lcn.h b43: LCN-PHY: finish sense setup 2011-09-19 16:10:14 -04:00
phy_lp.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
phy_lp.h
phy_n.c b43: N-PHY: trivial: change save&rest order in RSSI polling 2012-01-24 14:06:06 -05:00
phy_n.h b43: N-PHY: implement TX power control setup 2012-01-24 14:06:05 -05:00
pio.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-01-04 21:35:43 -05:00
pio.h
radio_2055.c b43: add my copyrights and myself as the module author 2011-09-14 13:56:25 -04:00
radio_2055.h
radio_2056.c b43: N-PHY: finish 2.4GHz 0x2056 radio setup 2011-12-13 15:33:56 -05:00
radio_2056.h b43: N-PHY: finish 2.4GHz 0x2056 radio setup 2011-12-13 15:33:56 -05:00
radio_2059.c b43: add my copyrights and myself as the module author 2011-09-14 13:56:25 -04:00
radio_2059.h
rfkill.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
rfkill.h
sdio.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
sdio.h
sysfs.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
sysfs.h
tables.c
tables.h
tables_lpphy.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
tables_lpphy.h
tables_nphy.c b43: N-PHY: upload PAPD PGA gain delta table 2012-01-24 14:06:05 -05:00
tables_nphy.h b43: N-PHY: upload PAPD PGA gain delta table 2012-01-24 14:06:05 -05:00
tables_phy_ht.c b43: add my copyrights and myself as the module author 2011-09-14 13:56:25 -04:00
tables_phy_ht.h b43: HT-PHY: allow writing longer tables with a single call 2011-08-23 16:14:19 -04:00
tables_phy_lcn.c b43: LCN-PHY: minor clean ups 2011-09-27 14:34:02 -04:00
tables_phy_lcn.h b43: LCN-PHY: load TX gain table on init 2011-09-14 13:56:26 -04:00
wa.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-07-25 13:56:39 -07:00
wa.h
xmit.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
xmit.h b43: HT-PHY: report signal to mac80211 2011-11-07 13:19:12 -05:00