]> git.baikalelectronics.ru Git - kernel.git/commit
iwlwifi: mvm: support IEEE80211_AMPDU_TX_STOP_FLUSH
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 19 Feb 2013 14:13:53 +0000 (16:13 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 6 Mar 2013 15:47:26 +0000 (16:47 +0100)
commitc59049d1f6a0aeae7e76dff50aee86199e221f24
tree9128505e4eac826eb00a5fbe6c61f3ad96843e09
parent89336fa96f9baddc6493dd25cba8046662513881
iwlwifi: mvm: support IEEE80211_AMPDU_TX_STOP_FLUSH

mac80211 tells us when we need to dump the frames from the
AGG queue instead of releasing them as single MPDUs.
Being able to differentiate between the different cases
(IEEE80211_AMPDU_TX_STOP_*) allows us to handle races better.

When the station is removed, mac80211 asks to flush and
removes the station right away.
This allows to avoid a case where we still have frames in
AGG queues, but the station has been remove already.

Note that we can have frames on the shared queues, but this
is not a problem: the station in the fw will be kept until
all the frames on the shared queues have been drained.
AGG queues are a special case since they are dynamically
allocated.

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