diff mbox

[FIX] b43: fix support for 14e4:4321 PCI dev with BCM4321 chipset

Message ID 1433623559-25433-1-git-send-email-zajec5@gmail.com (mailing list archive)
State Accepted
Delegated to: Kalle Valo
Headers show

Commit Message

Rafał Miłecki June 6, 2015, 8:45 p.m. UTC
It seems Broadcom released two devices with conflicting device id. There
are for sure 14e4:4321 PCI devices with BCM4321 (N-PHY) chipset, they
can be found in routers, e.g. Netgear WNR834Bv2. However, according to
Broadcom public sources 0x4321 is also used for 5 GHz BCM4306 (G-PHY).
It's unsure if they meant PCI device id, or "virtual" id (from SPROM).
To distinguish these devices lets check PHY type (G vs. N).

Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
Cc: <stable@vger.kernel.org> # 3.16+
---
Kalle: I'm aware it's quite late for a 4.1 fix, this bug was reported just
today. I guess you can just take it for wireless-drivers-next and let stable
guys handle it.
---
 drivers/net/wireless/b43/main.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Kalle Valo June 8, 2015, 8:22 a.m. UTC | #1
Rafa? Mi?ecki <zajec5@gmail.com> writes:

> It seems Broadcom released two devices with conflicting device id. There
> are for sure 14e4:4321 PCI devices with BCM4321 (N-PHY) chipset, they
> can be found in routers, e.g. Netgear WNR834Bv2. However, according to
> Broadcom public sources 0x4321 is also used for 5 GHz BCM4306 (G-PHY).
> It's unsure if they meant PCI device id, or "virtual" id (from SPROM).
> To distinguish these devices lets check PHY type (G vs. N).
>
> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
> Cc: <stable@vger.kernel.org> # 3.16+
> ---
> Kalle: I'm aware it's quite late for a 4.1 fix, this bug was reported just
> today. I guess you can just take it for wireless-drivers-next and let stable
> guys handle it.

Yeah, I don't think this is critical enough to send this to 4.1. So
let's push this via wireless-drivers-next.
Kalle Valo June 8, 2015, 11:33 a.m. UTC | #2
Rafa? Mi?ecki <zajec5@gmail.com> writes:

> It seems Broadcom released two devices with conflicting device id. There
> are for sure 14e4:4321 PCI devices with BCM4321 (N-PHY) chipset, they
> can be found in routers, e.g. Netgear WNR834Bv2. However, according to
> Broadcom public sources 0x4321 is also used for 5 GHz BCM4306 (G-PHY).
> It's unsure if they meant PCI device id, or "virtual" id (from SPROM).
> To distinguish these devices lets check PHY type (G vs. N).
>
> Signed-off-by: Rafa? Mi?ecki <zajec5@gmail.com>
> Cc: <stable@vger.kernel.org> # 3.16+

Thanks, applied manually.
diff mbox

Patch

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index f409929..9556454 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -5361,6 +5361,10 @@  static void b43_supported_bands(struct b43_wldev *dev, bool *have_2ghz_phy,
 		*have_5ghz_phy = true;
 		return;
 	case 0x4321: /* BCM4306 */
+		/* There are 14e4:4321 PCI devs with 2.4 GHz BCM4321 (N-PHY) */
+		if (dev->phy.type != B43_PHYTYPE_G)
+			break;
+		/* fall through */
 	case 0x4313: /* BCM4311 */
 	case 0x431a: /* BCM4318 */
 	case 0x432a: /* BCM4321 */