1 --- a/net/mac80211/scan.c
2 +++ b/net/mac80211/scan.c
3 @@ -284,6 +284,7 @@ void ieee80211_scan_completed(struct iee
4 ieee80211_mlme_notify_scan_completed(local);
5 ieee80211_ibss_notify_scan_completed(local);
6 ieee80211_mesh_notify_scan_completed(local);
7 + ieee80211_queue_work(&local->hw, &local->work_work);
9 EXPORT_SYMBOL(ieee80211_scan_completed);
11 --- a/net/mac80211/work.c
12 +++ b/net/mac80211/work.c
13 @@ -818,6 +818,7 @@ static void ieee80211_work_work(struct w
14 wk->chan == local->tmp_channel &&
15 wk->chan_type == local->tmp_channel_type) {
17 + wk->timeout = jiffies;
20 if (!wk->started && !local->tmp_channel) {
21 @@ -935,6 +936,9 @@ void ieee80211_add_work(struct ieee80211
22 if (WARN_ON(!wk->done))
25 + if (WARN_ON(!ieee80211_sdata_running(wk->sdata)))
30 local = wk->sdata->local;