diff options
author | Kalle Valo <kalle.valo@iki.fi> | 2009-04-19 01:47:19 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-04-20 16:36:26 -0400 |
commit | ad935687dbe7307f5abd9e3f610a965a287324a9 (patch) | |
tree | afa794d3da8c2b9dc388ee4903b93a5c041ca3fa /net | |
parent | d91c01c757bd9659ac10549504586fae610265a4 (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>
Diffstat (limited to 'net')
-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) | |||
1913 | 1913 | ||
1914 | static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata) | 1914 | static 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 */ |