summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-08-28 10:52:53 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-12-09 14:34:20 -0500
commit85eeb5c5ad3d97ea3e59221b4237881b3a5d5731 (patch)
tree8a5a5fcc20d15d42aa49c2eac6e62366469c24fe
parent328a2865479c18995902c9be3ff754cd4a91845d (diff)
downloadlwn-85eeb5c5ad3d97ea3e59221b4237881b3a5d5731.tar.gz
lwn-85eeb5c5ad3d97ea3e59221b4237881b3a5d5731.zip
mac80211: fix driver RSSI event calculations
commit 8ec6d97871f37e4743678ea4a455bd59580aa0f4 upstream. The ifmgd->ave_beacon_signal value cannot be taken as is for comparisons, it must be divided by since it's represented like that for better accuracy of the EWMA calculations. This would lead to invalid driver RSSI events. Fix the used value. Fixes: 615f7b9bb1f8 ("mac80211: add driver RSSI threshold events") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/mac80211/mlme.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index af86975b35da..d011bc539197 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3391,7 +3391,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
if (ifmgd->rssi_min_thold != ifmgd->rssi_max_thold &&
ifmgd->count_beacon_signal >= IEEE80211_SIGNAL_AVE_MIN_COUNT) {
- int sig = ifmgd->ave_beacon_signal;
+ int sig = ifmgd->ave_beacon_signal / 16;
int last_sig = ifmgd->last_ave_beacon_signal;
struct ieee80211_event event = {
.type = RSSI_EVENT,