mac80211: schedule the actual switch of the station before CSA count 0
Due to the time it takes to process the beacon that started the CSA process, we may be late for the switch if we try to reach exactly beacon 0. To avoid that, use count - 1 when calculating the switch time. Cc: stable@vger.kernel.org Reported-by: Jouni Malinen <j@w1.fi> Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
84469a45a1
Коммит
ff1e417c7c
|
@ -1168,7 +1168,8 @@ ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata,
|
||||||
ieee80211_queue_work(&local->hw, &ifmgd->chswitch_work);
|
ieee80211_queue_work(&local->hw, &ifmgd->chswitch_work);
|
||||||
else
|
else
|
||||||
mod_timer(&ifmgd->chswitch_timer,
|
mod_timer(&ifmgd->chswitch_timer,
|
||||||
TU_TO_EXP_TIME(csa_ie.count * cbss->beacon_interval));
|
TU_TO_EXP_TIME((csa_ie.count - 1) *
|
||||||
|
cbss->beacon_interval));
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
|
Загрузка…
Ссылка в новой задаче