diff options
| -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; +  | 
