From: Arend van Spriel <[email protected]>

The rssi computation was done upon getting the frame from the
queue, but the value is needed when filling in the receive status
data for mac80211. The call to wlc_phy_rssi_compute() has been
deferred.

Reviewed-by: Roland Vossen <[email protected]>
Reviewed-by: Pieter-Paul Giesberts <[email protected]>
Signed-off-by: Franky Lin <[email protected]>
---
 drivers/staging/brcm80211/brcmsmac/main.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/brcm80211/brcmsmac/main.c 
b/drivers/staging/brcm80211/brcmsmac/main.c
index 3e39407..bdc0611 100644
--- a/drivers/staging/brcm80211/brcmsmac/main.c
+++ b/drivers/staging/brcm80211/brcmsmac/main.c
@@ -828,11 +828,6 @@ brcms_b_recv(struct brcms_hardware *wlc_hw, uint fifo, 
bool bound)
                rxh->RxTSFTime = le16_to_cpu(rxh_le->RxTSFTime);
                rxh->RxChan = le16_to_cpu(rxh_le->RxChan);
 
-               /*
-                * compute the RSSI from d11rxhdr and record it in wlc_rxd11hr
-                */
-               wlc_rxhdr->rssi = (s8)wlc_phy_rssi_compute(wlc_hw->band->pi,
-                                                          rxh);
                brcms_c_recv(wlc_hw->wlc, p);
        }
 
@@ -8172,7 +8167,7 @@ prep_mac80211_status(struct brcms_c_info *wlc, struct 
d11rxhdr *rxh,
                rx_status->freq = ieee80211_dsss_chan_to_freq(channel);
        }
 
-       rx_status->signal = wlc_rxh->rssi;
+       rx_status->signal = wlc_phy_rssi_compute(wlc->hw->band->pi, rxh);
 
        /* noise */
        /* qual */
-- 
1.7.1


_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to