From 5f9adf09bbef196d81fd03b558702fd2379faa7b Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 6 Jan 2010 15:30:58 +0100 Subject: [PATCH] --- yaml --- r: 183588 b: refs/heads/master c: 81ac3462d346ee7aaf037a35156b0a7a354e98cf h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/mac80211/scan.c | 1 + trunk/net/mac80211/work.c | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 1288a078ccf7..1979477d260c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 34a6eddbabd704b3c7dae9362234552267573be2 +refs/heads/master: 81ac3462d346ee7aaf037a35156b0a7a354e98cf diff --git a/trunk/net/mac80211/scan.c b/trunk/net/mac80211/scan.c index a4c63d4e6845..30cb62bb45b3 100644 --- a/trunk/net/mac80211/scan.c +++ b/trunk/net/mac80211/scan.c @@ -284,6 +284,7 @@ void ieee80211_scan_completed(struct ieee80211_hw *hw, bool aborted) ieee80211_mlme_notify_scan_completed(local); ieee80211_ibss_notify_scan_completed(local); ieee80211_mesh_notify_scan_completed(local); + ieee80211_queue_work(&local->hw, &local->work_work); } EXPORT_SYMBOL(ieee80211_scan_completed); diff --git a/trunk/net/mac80211/work.c b/trunk/net/mac80211/work.c index 5ba75990c9fd..7c5d95b1bc04 100644 --- a/trunk/net/mac80211/work.c +++ b/trunk/net/mac80211/work.c @@ -818,6 +818,7 @@ static void ieee80211_work_work(struct work_struct *work) wk->chan == local->tmp_channel && wk->chan_type == local->tmp_channel_type) { wk->started = true; + wk->timeout = jiffies; } if (!wk->started && !local->tmp_channel) { @@ -935,6 +936,9 @@ void ieee80211_add_work(struct ieee80211_work *wk) if (WARN_ON(!wk->done)) return; + if (WARN_ON(!ieee80211_sdata_running(wk->sdata))) + return; + wk->started = false; local = wk->sdata->local;