aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalle Valo <kalle.valo@iki.fi>2009-04-19 01:47:19 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-20 16:36:26 -0400
commitad935687dbe7307f5abd9e3f610a965a287324a9 (patch)
treeafa794d3da8c2b9dc388ee4903b93a5c041ca3fa
parentd91c01c757bd9659ac10549504586fae610265a4 (diff)
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.c10
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)
1913 1913
1914static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata) 1914static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
1915{ 1915{
1916 if (sdata->vif.type == NL80211_IFTYPE_STATION) 1916 if (sdata->vif.type == NL80211_IFTYPE_STATION) {
1917 /*
1918 * Need to update last_beacon to avoid beacon loss
1919 * test to trigger.
1920 */
1921 sdata->u.mgd.last_beacon = jiffies;
1922
1923
1917 queue_work(sdata->local->hw.workqueue, 1924 queue_work(sdata->local->hw.workqueue,
1918 &sdata->u.mgd.work); 1925 &sdata->u.mgd.work);
1926 }
1919} 1927}
1920 1928
1921/* interface setup */ 1929/* interface setup */