b43: LP-PHY: note and explain specs inconsistency
authorRafał Miłecki <zajec5@gmail.com>
Thu, 7 Jan 2010 13:09:27 +0000 (14:09 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 12 Jan 2010 18:57:57 +0000 (13:57 -0500)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/phy_lp.c

index 3e046ec1ff869a7898495f0ab67a20b3214b5295..eb4fb4581edb0f8c5b945013c33c0b43c7bb2228 100644 (file)
@@ -80,6 +80,7 @@ static void b43_lpphy_op_free(struct b43_wldev *dev)
        dev->phy.lp = NULL;
 }
 
+/* http://bcm-v4.sipsolutions.net/802.11/PHY/LP/ReadBandSrom */
 static void lpphy_read_band_sprom(struct b43_wldev *dev)
 {
        struct b43_phy_lp *lpphy = dev->phy.lp;
@@ -101,6 +102,12 @@ static void lpphy_read_band_sprom(struct b43_wldev *dev)
                maxpwr = bus->sprom.maxpwr_bg;
                lpphy->max_tx_pwr_med_band = maxpwr;
                cckpo = bus->sprom.cck2gpo;
+               /*
+                * We don't read SPROM's opo as specs say. On rev8 SPROMs
+                * opo == ofdm2gpo and we don't know any SSB with LP-PHY
+                * and SPROM rev below 8.
+                */
+               B43_WARN_ON(bus->sprom.revision < 8);
                ofdmpo = bus->sprom.ofdm2gpo;
                if (cckpo) {
                        for (i = 0; i < 4; i++) {