[PATCH] bcm43xx: sync interference mitigation code to the specs.

This also includes a rewritten valuesave-stack.

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.h b/drivers/net/wireless/bcm43xx/bcm43xx.h
index 1fca1f9..57fcaaf 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/bcm43xx/bcm43xx.h
@@ -526,8 +526,16 @@
 
 	/* Current Interference Mitigation mode */
 	int interfmode;
-	/* Stack of saved values from the Interference Mitigation code */
-	u16 interfstack[20];
+	/* Stack of saved values from the Interference Mitigation code.
+	 * Each value in the stack is layed out as follows:
+	 * bit 0-11:  offset
+	 * bit 12-15: register ID
+	 * bit 16-32: value
+	 * register ID is: 0x1 PHY, 0x2 Radio, 0x3 ILT
+	 */
+#define BCM43xx_INTERFSTACK_SIZE	26
+	u32 interfstack[BCM43xx_INTERFSTACK_SIZE];
+
 	/* Saved values from the NRSSI Slope calculation */
 	s16 nrssi[2];
 	s32 nrssislope;