b43: treat LCNXN-PHY as extra N-PHY devices
authorRafał Miłecki <zajec5@gmail.com>
Sun, 29 Jun 2014 19:46:45 +0000 (21:46 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 1 Jul 2014 18:26:26 +0000 (14:26 -0400)
LCNXN is simply a continuation of N, e.g. code handling LCNXN revs 0 and
1 is mostly the same as for N-PHY revs 7+.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c

index aae3af2a7a9f1006af114defb2c809b3b5d5cd98..3740b76162f970de58c51979789ec921d1a25eba 100644 (file)
@@ -4331,6 +4331,13 @@ static int b43_phy_versioning(struct b43_wldev *dev)
        analog_type = (tmp & B43_PHYVER_ANALOG) >> B43_PHYVER_ANALOG_SHIFT;
        phy_type = (tmp & B43_PHYVER_TYPE) >> B43_PHYVER_TYPE_SHIFT;
        phy_rev = (tmp & B43_PHYVER_VERSION);
+
+       /* LCNXN is continuation of N which run out of revisions */
+       if (phy_type == B43_PHYTYPE_LCNXN) {
+               phy_type = B43_PHYTYPE_N;
+               phy_rev += 16;
+       }
+
        switch (phy_type) {
 #ifdef CONFIG_B43_PHY_G
        case B43_PHYTYPE_G: