]> 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)
commita08c943240ef051e97a14693f739e4858d51ac8e
tree9128505e4eac826eb00a5fbe6c61f3ad96843e09
parentc3e7a58e4d2c4367fb8a8616a41ea9db12287908
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