[PATCH] bcm43xx: set default attenuation values.

Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
index 1ce9a45..054c64e 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_phy.c
@@ -220,9 +220,9 @@
 		bcm43xx_radio_write16(bcm, 0x0076,
 				      bcm43xx_radio_read16(bcm, 0x0076) | 0x0084);
 	} else {
-		saved_batt = radio->txpower[0];
-		saved_ratt = radio->txpower[1];
-		saved_txctl1 = radio->txpower[2];
+		saved_batt = radio->baseband_atten;
+		saved_ratt = radio->radio_atten;
+		saved_txctl1 = radio->txctl1;
 		if ((radio->revision >= 6) && (radio->revision <= 8)
 		    && /*FIXME: incomplete specs for 5 < revision < 9 */ 0)
 			bcm43xx_radio_set_txpower_bg(bcm, 0xB, 0x1F, 0);
@@ -1039,7 +1039,7 @@
 		bcm43xx_radio_write16(bcm, 0x0078, radio->initval);
 		bcm43xx_radio_write16(bcm, 0x0052,
 				      (bcm43xx_radio_read16(bcm, 0x0052) & 0xFFF0)
-				      | radio->txpower[3]);
+				      | radio->txctl2);
 	}
 
 	if (phy->connected) {
@@ -1259,7 +1259,6 @@
 	if (baseband_attenuation > 6)
 		baseband_attenuation = 6;
 	assert(radio_attenuation < 10);
-	assert(tx == 0 || tx == 3);
 
 	if (tx == 3) {
 		return bcm43xx_get_lopair(phy,
@@ -1275,9 +1274,9 @@
 	struct bcm43xx_radioinfo *radio = bcm43xx_current_radio(bcm);
 
 	return bcm43xx_find_lopair(bcm,
-				   radio->txpower[0],
-				   radio->txpower[1],
-				   radio->txpower[2]);
+				   radio->baseband_atten,
+				   radio->radio_atten,
+				   radio->txctl1);
 }
 
 /* Adjust B/G LO */
@@ -1311,7 +1310,7 @@
 			txctl2 = i;
 		}
 	}
-	radio->txpower[3] = txctl2;
+	radio->txctl2 = txctl2;
 }
 
 static
@@ -1530,8 +1529,7 @@
 				r31 = 0;
 			}
 			bcm43xx_radio_write16(bcm, 0x43, i);
-			bcm43xx_radio_write16(bcm, 0x52,
-					      radio->txpower[3]);
+			bcm43xx_radio_write16(bcm, 0x52, radio->txctl2);
 			udelay(10);
 
 			bcm43xx_phy_set_baseband_attenuation(bcm, j * 2);
@@ -1573,7 +1571,7 @@
 			}
 			bcm43xx_radio_write16(bcm, 0x43, i - 9);
 			bcm43xx_radio_write16(bcm, 0x52,
-					      radio->txpower[3]
+					      radio->txctl2
 					      | (3/*txctl1*/ << 4));//FIXME: shouldn't txctl1 be zero here and 3 in the loop above?
 			udelay(10);
 
@@ -1780,9 +1778,9 @@
 		}
 
 		/* Calculate the new attenuation values. */
-		baseband_attenuation = radio->txpower[0];
+		baseband_attenuation = radio->baseband_atten;
 		baseband_attenuation += baseband_att_delta;
-		radio_attenuation = radio->txpower[1];
+		radio_attenuation = radio->radio_atten;
 		radio_attenuation += radio_att_delta;
 
 		/* Get baseband and radio attenuation values into their permitted ranges.
@@ -1807,7 +1805,7 @@
 		}
 		baseband_attenuation = limit_value(baseband_attenuation, 0, 11);
 
-		txpower = radio->txpower[2];
+		txpower = radio->txctl1;
 		if ((radio->version == 0x2050) && (radio->revision == 2)) {
 			if (radio_attenuation <= 1) {
 				if (txpower == 0) {
@@ -1829,7 +1827,7 @@
 				}
 			}
 		}
-		radio->txpower[2] = txpower;
+		radio->txctl1 = txpower;
 		baseband_attenuation = limit_value(baseband_attenuation, 0, 11);
 		radio_attenuation = limit_value(radio_attenuation, 0, 9);