mac80211: fix beacon loss detection after scan
Currently beacon loss detection triggers after a scan. A probe request is sent and a message like this is printed to the log: wlan0: beacon loss from AP 00:12:17:e7:98:de - sending probe request But in fact there is no beacon loss, the beacons are just not received because of the ongoing scan. Fix it by updating last_beacon after the scan has finished. Reported-by: Jaswinder Singh Rajput <jaswinder@kernel.org> Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d91c01c757
commit
ad935687db
@ -1913,10 +1913,18 @@ static void ieee80211_sta_work(struct work_struct *work)
|
|||||||
|
|
||||||
static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
|
static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
|
||||||
{
|
{
|
||||||
if (sdata->vif.type == NL80211_IFTYPE_STATION)
|
if (sdata->vif.type == NL80211_IFTYPE_STATION) {
|
||||||
|
/*
|
||||||
|
* Need to update last_beacon to avoid beacon loss
|
||||||
|
* test to trigger.
|
||||||
|
*/
|
||||||
|
sdata->u.mgd.last_beacon = jiffies;
|
||||||
|
|
||||||
|
|
||||||
queue_work(sdata->local->hw.workqueue,
|
queue_work(sdata->local->hw.workqueue,
|
||||||
&sdata->u.mgd.work);
|
&sdata->u.mgd.work);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* interface setup */
|
/* interface setup */
|
||||||
void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
|
void ieee80211_sta_setup_sdata(struct ieee80211_sub_if_data *sdata)
|
||||||
|
Loading…
Reference in New Issue
Block a user