|
@@ -2051,8 +2051,15 @@ int ieee80211_reconfig(struct ieee80211_local *local)
|
|
|
cfg80211_sched_scan_stopped_rtnl(local->hw.wiphy);
|
|
|
|
|
|
wake_up:
|
|
|
- local->in_reconfig = false;
|
|
|
- barrier();
|
|
|
+ if (local->in_reconfig) {
|
|
|
+ local->in_reconfig = false;
|
|
|
+ barrier();
|
|
|
+
|
|
|
+ /* Restart deferred ROCs */
|
|
|
+ mutex_lock(&local->mtx);
|
|
|
+ ieee80211_start_next_roc(local);
|
|
|
+ mutex_unlock(&local->mtx);
|
|
|
+ }
|
|
|
|
|
|
if (local->monitors == local->open_count && local->monitors > 0)
|
|
|
ieee80211_add_virtual_monitor(local);
|