aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2012-07-02 08:08:25 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-07-06 02:33:05 -0400
commitc62094889f7bb0b3343d5404c9d139d2fb1712bb (patch)
tree62f6aba934821cb9147a17d4d8d6c5d4dade1b4c /net/mac80211
parent135792ec246ddd0b2738dd95447297ea0b91943b (diff)
mac80211: always set in_reconfig=false on wakeup
If the interfaces were removed just before a restart work was started, open_count will be 0, and most of the reconfig work will be skipped, including the resetting of local->in_reconfig to false. Leaving local->inconfig = true will result in dropping any incoming packet. Fix it by always setting local->in_reconfig = false (even if there are no active interfaces). Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index cb73a0341af4..5715e7b3affc 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1415,10 +1415,10 @@ int ieee80211_reconfig(struct ieee80211_local *local)
1415 if (ieee80211_sdata_running(sdata)) 1415 if (ieee80211_sdata_running(sdata))
1416 ieee80211_enable_keys(sdata); 1416 ieee80211_enable_keys(sdata);
1417 1417
1418 wake_up:
1418 local->in_reconfig = false; 1419 local->in_reconfig = false;
1419 barrier(); 1420 barrier();
1420 1421
1421 wake_up:
1422 /* 1422 /*
1423 * Clear the WLAN_STA_BLOCK_BA flag so new aggregation 1423 * Clear the WLAN_STA_BLOCK_BA flag so new aggregation
1424 * sessions can be established after a resume. 1424 * sessions can be established after a resume.