summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-02-23 01:17:56 +0100
committerJohannes Berg <johannes.berg@intel.com>2013-03-06 16:36:01 +0100
commit1861b8455351cd426fb7dec8743ac312aafbe93d (patch)
tree438ed1134efa96732c3f3a4a938aa74f08c011b2
parent7b4396bd6868f3d665c5f4cb53a9bdde5a2f4bf2 (diff)
downloadlinux-3.10-1861b8455351cd426fb7dec8743ac312aafbe93d.tar.gz
linux-3.10-1861b8455351cd426fb7dec8743ac312aafbe93d.tar.bz2
linux-3.10-1861b8455351cd426fb7dec8743ac312aafbe93d.zip
mac80211: simplify AP interface stop
For AP interfaces, there's no need to flush stations or keys again when the interface is stopped as already happened when the BSS was stopped on the interface. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/iface.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 290de4d9969..d85282f6440 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -836,14 +836,16 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
rcu_barrier();
sta_info_flush_cleanup(sdata);
- skb_queue_purge(&sdata->skb_queue);
-
/*
* Free all remaining keys, there shouldn't be any,
* except maybe in WDS mode?
*/
ieee80211_free_keys(sdata);
+ /* fall through */
+ case NL80211_IFTYPE_AP:
+ skb_queue_purge(&sdata->skb_queue);
+
drv_remove_interface_debugfs(local, sdata);
if (going_down)