diff options
author | Kalle Valo <kalle.valo@iki.fi> | 2009-04-19 07:47:19 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-20 22:36:26 +0200 |
commit | ad935687dbe7307f5abd9e3f610a965a287324a9 (patch) | |
tree | afa794d3da8c2b9dc388ee4903b93a5c041ca3fa | |
parent | nl80211: Make nl80211_send_mlme_event() atomic (diff) | |
download | linux-ad935687dbe7307f5abd9e3f610a965a287324a9.tar.xz linux-ad935687dbe7307f5abd9e3f610a965a287324a9.zip |
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>
-rw-r--r-- | net/mac80211/mlme.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 1619e0cd26e2..ccfc21aa0b61 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1913,9 +1913,17 @@ static void ieee80211_sta_work(struct work_struct *work) 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, &sdata->u.mgd.work); + } } /* interface setup */ |