+++ /dev/null
---- a/net/mac80211/scan.c
-+++ b/net/mac80211/scan.c
-@@ -284,6 +284,7 @@ void ieee80211_scan_completed(struct iee
- 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);
-
---- a/net/mac80211/work.c
-+++ b/net/mac80211/work.c
-@@ -818,6 +818,7 @@ static void ieee80211_work_work(struct w
- 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
- if (WARN_ON(!wk->done))
- return;
-
-+ if (WARN_ON(!ieee80211_sdata_running(wk->sdata)))
-+ return;
-+
- wk->started = false;
-
- local = wk->sdata->local;