mac80211: fix memory leak on bcm5354
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 20 Feb 2012 22:46:27 +0000 (22:46 +0000)
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 20 Feb 2012 22:46:27 +0000 (22:46 +0000)
The ucode triggers the gpio pins used for the buttons and causes diag to handle them and send them to userspace.
This only happened with a more recent firmware.
This patch was tested on an Asus wl-520GU and should also work on the other bcm5354 based asus devices. I do not know if it works on the dir320.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30665 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/805-fix_gpio_bcm5354.patch [new file with mode: 0644]

diff --git a/package/mac80211/patches/805-fix_gpio_bcm5354.patch b/package/mac80211/patches/805-fix_gpio_bcm5354.patch
new file mode 100644 (file)
index 0000000..a3cf0d0
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -2687,6 +2687,8 @@ static int b43_gpio_init(struct b43_wlde
+               mask |= 0x0060;
+               set |= 0x0060;
+       }
++      if (dev->dev->chip_id == 0x5354)
++              set &= 0xff02;
+       if (0 /* FIXME: conditional unknown */ ) {
+               b43_write16(dev, B43_MMIO_GPIO_MASK,
+                           b43_read16(dev, B43_MMIO_GPIO_MASK)