These patches modify bcm43xx-d80211 to use the wireless statics added in patch 
1.

Signed-Off-By: Larry [EMAIL PROTECTED]>

======================================

diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx.h b/drivers/net/wireless/d80211/bcm43xx/bcm43xx.h
index a0faeca..75174f9 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx.h
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx.h
@@ -27,6 +27,8 @@ #define BCM43xx_IRQWAIT_MAX_RETRIES   50

 #define BCM43xx_IO_SIZE                        8192

+#define BCM43xx_RX_MAX_SSI             60
+
 /* Active Core PCI Configuration Register. */
 #define BCM43xx_PCICFG_ACTIVE_CORE     0x80
 /* SPROM control register. */
@@ -623,7 +625,7 @@ struct bcm43xx_noise_calculation {
 };

 struct bcm43xx_stats {
-       u8 link_quality;
+       u8 link_noise;
        /* Store the last TX/RX times here for updating the leds. */
        unsigned long last_tx;
        unsigned long last_rx;
diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
index 6366020..e1b77ae 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
@@ -1506,15 +1506,7 @@ static void handle_irq_noise(struct bcm4
                else
                        average -= 48;

-               if (average > -65)
-                       bcm->stats.link_quality = 0;
-               else if (average > -75)
-                       bcm->stats.link_quality = 1;
-               else if (average > -85)
-                       bcm->stats.link_quality = 2;
-               else
-                       bcm->stats.link_quality = 3;
-//             dprintk(KERN_INFO PFX "Link Quality: %u (avg was %d)\n", 
bcm->stats.link_quality, average);
+               bcm->stats.link_noise = average;
 drop_calculation:
                bcm->noisecalc.calculation_running = 0;
                return;
@@ -4421,6 +4413,7 @@ #endif
        ieee->host_gen_beacon_template = 1;
        ieee->rx_includes_fcs = 1;
        ieee->monitor_during_oper = 1;
+       ieee->maxssi = BCM43xx_RX_MAX_SSI;
        ieee->tx = bcm43xx_net_hard_start_xmit;
        ieee->open = bcm43xx_net_open;
        ieee->stop = bcm43xx_net_stop;
diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
index 3f86079..d2a2777 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_xmit.c
@@ -475,7 +475,9 @@ void bcm43xx_rx(struct bcm43xx_private *
         */

        memset(&status, 0, sizeof(status));
-       status.ssi = bcm43xx_rssi_postprocess(bcm, rxhdr->rssi, is_ofdm,
+       status.noise = bcm->stats.link_noise;
+       status.ssi = rxhdr->rssi;
+       status.signal = bcm43xx_rssi_postprocess(bcm, rxhdr->rssi, is_ofdm,
                                              !!(rxflags1 & 
BCM43xx_RXHDR_FLAGS1_2053RSSIADJ),
                                              !!(rxflags3 & 
BCM43xx_RXHDR_FLAGS3_2050RSSIADJ));
        if (is_ofdm)
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to