diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-06-06 16:45:59 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-06-29 15:35:28 -0400 |
commit | d0a2a8df991b409174b5cc663791de0f95d875c5 (patch) | |
tree | a4ec01a188d05030d4e90a80e20cb4f7627b5c49 | |
parent | 46c266ff8435422631402284e2a3b62ef1560141 (diff) |
b43: fix support for 14e4:4321 PCI dev with BCM4321 chipset
commit 90f91b129810c3f169e443252be30ed7c0130326 upstream.
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+
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/net/wireless/b43/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c index b2f9521fe551..4cdac7801c8b 100644 --- a/drivers/net/wireless/b43/main.c +++ b/drivers/net/wireless/b43/main.c | |||
@@ -5365,6 +5365,10 @@ static void b43_supported_bands(struct b43_wldev *dev, bool *have_2ghz_phy, | |||
5365 | *have_5ghz_phy = true; | 5365 | *have_5ghz_phy = true; |
5366 | return; | 5366 | return; |
5367 | case 0x4321: /* BCM4306 */ | 5367 | case 0x4321: /* BCM4306 */ |
5368 | /* There are 14e4:4321 PCI devs with 2.4 GHz BCM4321 (N-PHY) */ | ||
5369 | if (dev->phy.type != B43_PHYTYPE_G) | ||
5370 | break; | ||
5371 | /* fall through */ | ||
5368 | case 0x4313: /* BCM4311 */ | 5372 | case 0x4313: /* BCM4311 */ |
5369 | case 0x431a: /* BCM4318 */ | 5373 | case 0x431a: /* BCM4318 */ |
5370 | case 0x432a: /* BCM4321 */ | 5374 | case 0x432a: /* BCM4321 */ |