diff options
author | Eliad Peller <eliad@wizery.com> | 2012-07-02 15:08:25 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-06 08:33:05 +0200 |
commit | c62094889f7bb0b3343d5404c9d139d2fb1712bb (patch) | |
tree | 62f6aba934821cb9147a17d4d8d6c5d4dade1b4c /net/mac80211 | |
parent | 135792ec246ddd0b2738dd95447297ea0b91943b (diff) | |
download | op-kernel-dev-c62094889f7bb0b3343d5404c9d139d2fb1712bb.zip op-kernel-dev-c62094889f7bb0b3343d5404c9d139d2fb1712bb.tar.gz |
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 cb73a03..5715e7b 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1415,10 +1415,10 @@ int ieee80211_reconfig(struct ieee80211_local *local) if (ieee80211_sdata_running(sdata)) ieee80211_enable_keys(sdata); + wake_up: local->in_reconfig = false; barrier(); - wake_up: /* * Clear the WLAN_STA_BLOCK_BA flag so new aggregation * sessions can be established after a resume. |