]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
mac80211: always set in_reconfig=false on wakeup
authorEliad Peller <eliad@wizery.com>
Mon, 2 Jul 2012 12:08:25 +0000 (15:08 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 6 Jul 2012 06:33:05 +0000 (08:33 +0200)
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>
net/mac80211/util.c

index cb73a0341af4a5e581739f37322d0cf5a4f28dc7..5715e7b3affcf1442c80188d106864bfd4fc5cc5 100644 (file)
@@ -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.