summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-09-11 00:01:48 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-09-15 22:48:20 +0200
commit7c95069522d02ff144cd421be6618dce619caf7e (patch)
tree927c6b8c535cfc0933033850d85a5ae350713f69
parentmac80211: move STA timer restart (diff)
downloadlinux-7c95069522d02ff144cd421be6618dce619caf7e.tar.xz
linux-7c95069522d02ff144cd421be6618dce619caf7e.zip
mac80211: dont set REQ_RUN when scan finishes
The timer restart is done wrongly, we shouldn't set the REQ_RUN bit when the scan has finished if it hadn't been set before the scan started. If the timer fires during the scan, it will set REQ_RUN and then we can run the work for it, if it didn't fire then we shouldn't run its work either. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/mlme.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 809fb9160899..ef73f8953724 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2598,7 +2598,8 @@ static void ieee80211_restart_sta_timer(struct ieee80211_sub_if_data *sdata)
{
if (sdata->vif.type == IEEE80211_IF_TYPE_STA ||
ieee80211_vif_is_mesh(&sdata->vif))
- ieee80211_sta_timer((unsigned long)sdata);
+ queue_work(sdata->local->hw.workqueue,
+ &sdata->u.sta.work);
}
void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local)