diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-30 11:38:39 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-30 11:38:39 +0000 |
commit | e6674fcd00af7025f533523bc10c64d5eade9a52 (patch) | |
tree | d1888dc2e375857ac217558ca6af76dc120060c3 /package/mac80211/patches | |
parent | 501544c95e6112b58d215c3e4e66d8e54d747d1e (diff) |
ath9k: fix reported signal strength
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26368 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches')
-rw-r--r-- | package/mac80211/patches/560-ath9k_fix_reported_signal_strength.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/mac80211/patches/560-ath9k_fix_reported_signal_strength.patch b/package/mac80211/patches/560-ath9k_fix_reported_signal_strength.patch new file mode 100644 index 000000000..2fa4c4428 --- /dev/null +++ b/package/mac80211/patches/560-ath9k_fix_reported_signal_strength.patch @@ -0,0 +1,27 @@ +--- a/drivers/net/wireless/ath/ath9k/recv.c ++++ b/drivers/net/wireless/ath/ath9k/recv.c +@@ -957,6 +957,9 @@ static int ath9k_rx_skb_preprocess(struc + struct ieee80211_rx_status *rx_status, + bool *decrypt_error) + { ++ struct ath_hw *ah = common->ah; ++ int noise; ++ + memset(rx_status, 0, sizeof(struct ieee80211_rx_status)); + + /* +@@ -977,7 +980,13 @@ static int ath9k_rx_skb_preprocess(struc + + rx_status->band = hw->conf.channel->band; + rx_status->freq = hw->conf.channel->center_freq; +- rx_status->signal = ATH_DEFAULT_NOISE_FLOOR + rx_stats->rs_rssi; ++ ++ if (ah->curchan) ++ noise = ah->curchan->noisefloor; ++ else ++ noise = ATH_DEFAULT_NOISE_FLOOR; ++ ++ rx_status->signal = noise + rx_stats->rs_rssi; + rx_status->antenna = rx_stats->rs_antenna; + rx_status->flag |= RX_FLAG_MACTIME_MPDU; + |