diff options
author | Eliad Peller <eliad@wizery.com> | 2012-07-02 08:08:25 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-06 02:33:05 -0400 |
commit | c62094889f7bb0b3343d5404c9d139d2fb1712bb (patch) | |
tree | 62f6aba934821cb9147a17d4d8d6c5d4dade1b4c /net/mac80211 | |
parent | 135792ec246ddd0b2738dd95447297ea0b91943b (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.c | 2 |
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. |