iwlwifi: mvm: fix AP/GO mode station removal
authorJohannes Berg <johannes.berg@intel.com>
Fri, 22 Feb 2013 13:07:56 +0000 (14:07 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 26 Feb 2013 21:09:48 +0000 (22:09 +0100)
commit38a12b5b029dec6e6dad1b5d3269b4c356c44c0e
tree24e44adc832f8461c3d1e6499b60e21e7695c9d6
parent8a964f44e01ad3bbc208c3e80d931ba91b9ea786
iwlwifi: mvm: fix AP/GO mode station removal

When stations are removed while packets are in the queue,
we drain the queues first, and then remove the stations.
If this happens in AP mode while the interface is removed
the MAC context might be removed from the firmware before
we removed the station(s), resulting in a SYSASSERT 3421.
This is because we remove the MAC context from the FW in
stop_ap(), but only flush the station drain work later in
remove_interface().

Refactor the code a bit to have a common MAC context
removal preparation first to solve this.

Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac80211.c