From e2c4d320c75a494753e63074027c10b01324a9cd Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 12 Jun 2014 14:44:26 +0000
Subject: [PATCH] b43: fix a regression on G-PHY devices

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41162
---
 .../mac80211/patches/300-pending_work.patch   | 33 +++++++++++++++++++
 .../patches/820-b43-add-antenna-control.patch |  4 +--
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch
index 468dffb931..25a34b3ebd 100644
--- a/package/kernel/mac80211/patches/300-pending_work.patch
+++ b/package/kernel/mac80211/patches/300-pending_work.patch
@@ -1,3 +1,26 @@
+commit 6e7341074823d2a45b81f2742cbf75f1da790031
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date:   Sat May 31 19:40:45 2014 +0200
+
+    b43: disable 5 GHz on G-PHY
+    
+    This fixes regression introduced by adding some G-PHY devices to the
+    list of dual band devices. There is simply no support for 5 GHz on
+    G-PHY devices in b43. It results in:
+    WARNING: CPU: 0 PID: 79 at drivers/net/wireless/b43/phy_g.c:75 b43_gphy_channel_switch+0x125/0x130 [b43]()
+    b43-phy1 ERROR: PHY init: Channel switch to default failed
+    
+    Regression was introduced by the following commit:
+    
+    commit 773cfc508f4d64c14547ff8751b5cbd473124364
+    Author: Rafał Miłecki <zajec5@gmail.com>
+    Date:   Mon May 19 23:18:55 2014 +0200
+    
+        b43: add more devices to the bands database
+    
+    Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
+    Signed-off-by: John W. Linville <linville@tuxdriver.com>
+
 commit 1186edbef91f15722e5bdf56326ce0abc2935ce7
 Author: Stanislaw Gruszka <sgruszka@redhat.com>
 Date:   Tue Jun 10 12:51:06 2014 +0200
@@ -2822,3 +2845,13 @@ Date:   Mon May 19 21:20:49 2014 +0200
  		break;
  	case B43_PHYTYPE_N:
  	case B43_PHYTYPE_LP:
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -5216,6 +5216,7 @@ static int b43_wireless_core_attach(stru
+ 	/* We don't support 5 GHz on some PHYs yet */
+ 	switch (dev->phy.type) {
+ 	case B43_PHYTYPE_A:
++	case B43_PHYTYPE_G:
+ 	case B43_PHYTYPE_N:
+ 	case B43_PHYTYPE_LP:
+ 	case B43_PHYTYPE_HT:
diff --git a/package/kernel/mac80211/patches/820-b43-add-antenna-control.patch b/package/kernel/mac80211/patches/820-b43-add-antenna-control.patch
index 5a239674d2..bb81bb8fd4 100644
--- a/package/kernel/mac80211/patches/820-b43-add-antenna-control.patch
+++ b/package/kernel/mac80211/patches/820-b43-add-antenna-control.patch
@@ -99,7 +99,7 @@
  };
  
  /* Hard-reset the chip. Do not call this directly.
-@@ -5295,6 +5335,8 @@ static int b43_one_core_attach(struct b4
+@@ -5296,6 +5336,8 @@ static int b43_one_core_attach(struct b4
  	if (!wldev)
  		goto out;
  
@@ -108,7 +108,7 @@
  	wldev->use_pio = b43_modparam_pio;
  	wldev->dev = dev;
  	wldev->wl = wl;
-@@ -5385,6 +5427,9 @@ static struct b43_wl *b43_wireless_init(
+@@ -5386,6 +5428,9 @@ static struct b43_wl *b43_wireless_init(
  
  	hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
  
-- 
GitLab