diff options
Diffstat (limited to 'net/mac80211/main.c')
-rw-r--r-- | net/mac80211/main.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 6bcf0faa4a89..8190bf27ebff 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -248,6 +248,7 @@ static void ieee80211_restart_work(struct work_struct *work) | |||
248 | 248 | ||
249 | /* wait for scan work complete */ | 249 | /* wait for scan work complete */ |
250 | flush_workqueue(local->workqueue); | 250 | flush_workqueue(local->workqueue); |
251 | flush_work(&local->sched_scan_stopped_work); | ||
251 | 252 | ||
252 | WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), | 253 | WARN(test_bit(SCAN_HW_SCANNING, &local->scanning), |
253 | "%s called with hardware scan in progress\n", __func__); | 254 | "%s called with hardware scan in progress\n", __func__); |
@@ -256,6 +257,11 @@ static void ieee80211_restart_work(struct work_struct *work) | |||
256 | list_for_each_entry(sdata, &local->interfaces, list) | 257 | list_for_each_entry(sdata, &local->interfaces, list) |
257 | flush_delayed_work(&sdata->dec_tailroom_needed_wk); | 258 | flush_delayed_work(&sdata->dec_tailroom_needed_wk); |
258 | ieee80211_scan_cancel(local); | 259 | ieee80211_scan_cancel(local); |
260 | |||
261 | /* make sure any new ROC will consider local->in_reconfig */ | ||
262 | flush_delayed_work(&local->roc_work); | ||
263 | flush_work(&local->hw_roc_done); | ||
264 | |||
259 | ieee80211_reconfig(local); | 265 | ieee80211_reconfig(local); |
260 | rtnl_unlock(); | 266 | rtnl_unlock(); |
261 | } | 267 | } |