aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index d57e5f6bd8b6..1f82191ce601 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -2110,15 +2110,6 @@ int ieee80211_reconfig(struct ieee80211_local *local)
2110 cfg80211_sched_scan_stopped_rtnl(local->hw.wiphy, 0); 2110 cfg80211_sched_scan_stopped_rtnl(local->hw.wiphy, 0);
2111 2111
2112 wake_up: 2112 wake_up:
2113 if (local->in_reconfig) {
2114 local->in_reconfig = false;
2115 barrier();
2116
2117 /* Restart deferred ROCs */
2118 mutex_lock(&local->mtx);
2119 ieee80211_start_next_roc(local);
2120 mutex_unlock(&local->mtx);
2121 }
2122 2113
2123 if (local->monitors == local->open_count && local->monitors > 0) 2114 if (local->monitors == local->open_count && local->monitors > 0)
2124 ieee80211_add_virtual_monitor(local); 2115 ieee80211_add_virtual_monitor(local);
@@ -2146,6 +2137,16 @@ int ieee80211_reconfig(struct ieee80211_local *local)
2146 mutex_unlock(&local->sta_mtx); 2137 mutex_unlock(&local->sta_mtx);
2147 } 2138 }
2148 2139
2140 if (local->in_reconfig) {
2141 local->in_reconfig = false;
2142 barrier();
2143
2144 /* Restart deferred ROCs */
2145 mutex_lock(&local->mtx);
2146 ieee80211_start_next_roc(local);
2147 mutex_unlock(&local->mtx);
2148 }
2149
2149 ieee80211_wake_queues_by_reason(hw, IEEE80211_MAX_QUEUE_MAP, 2150 ieee80211_wake_queues_by_reason(hw, IEEE80211_MAX_QUEUE_MAP,
2150 IEEE80211_QUEUE_STOP_REASON_SUSPEND, 2151 IEEE80211_QUEUE_STOP_REASON_SUSPEND,
2151 false); 2152 false);