mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 18:14:07 +08:00
mac80211: fix driver RSSI event calculations
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: 615f7b9bb1
("mac80211: add driver RSSI threshold events")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
8e0d7fe07c
commit
8ec6d97871
@ -3380,7 +3380,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,
|
||||
|
Loading…
Reference in New Issue
Block a user