]> err.no Git - linux-2.6/commitdiff
[PATCH] bcm43xx: fix the remaining sparse warnings.
authorMichael Buesch <mbuesch@freenet.de>
Sat, 25 Mar 2006 16:04:41 +0000 (17:04 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 27 Mar 2006 16:19:46 +0000 (11:19 -0500)
Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/bcm43xx/bcm43xx_main.c
drivers/net/wireless/bcm43xx/bcm43xx_phy.c

index ac9a8dd1ab8f10f15c11295dcd2141f4af999734..7c1d72fc628993ff12548911b77a3be0f00d920d 100644 (file)
@@ -2509,7 +2509,7 @@ error:
        return -ENODEV;
 }
 
-void bcm43xx_init_struct_phyinfo(struct bcm43xx_phyinfo *phy)
+static void bcm43xx_init_struct_phyinfo(struct bcm43xx_phyinfo *phy)
 {
        /* Initialize a "phyinfo" structure. The structure is already
         * zeroed out.
@@ -2521,7 +2521,7 @@ void bcm43xx_init_struct_phyinfo(struct bcm43xx_phyinfo *phy)
        spin_lock_init(&phy->lock);
 }
 
-void bcm43xx_init_struct_radioinfo(struct bcm43xx_radioinfo *radio)
+static void bcm43xx_init_struct_radioinfo(struct bcm43xx_radioinfo *radio)
 {
        /* Initialize a "radioinfo" structure. The structure is already
         * zeroed out.
index 054c64e462fbc72cf4d3cd0a2e168005c477f49e..4ab17a7f7e915a06185f9e017c9e2d3650400275 100644 (file)
@@ -1057,9 +1057,14 @@ static void bcm43xx_phy_initg(struct bcm43xx_private *bcm)
                        bcm43xx_phy_write(bcm, 0x002F, 0x0202);
        }
 
-       if ((bcm->sprom.boardflags & BCM43xx_BFL_RSSI) == 0) {
-               FIXME();//FIXME: 0x7FFFFFFF should be 16-bit !
-               bcm43xx_nrssi_hw_update(bcm, (u16)0x7FFFFFFF);
+       if (!(bcm->sprom.boardflags & BCM43xx_BFL_RSSI)) {
+               /* The specs state to update the NRSSI LT with
+                * the value 0x7FFFFFFF here. I think that is some weird
+                * compiler optimization in the original driver.
+                * Essentially, what we do here is resetting all NRSSI LT
+                * entries to -32 (see the limit_value() in nrssi_hw_update())
+                */
+               bcm43xx_nrssi_hw_update(bcm, 0xFFFF);
                bcm43xx_calc_nrssi_threshold(bcm);
        } else if (phy->connected) {
                if (radio->nrssi[0] == -1000) {