diff options
author | Emmanuel Grumbach | 2013-02-19 14:32:42 +0100 |
---|---|---|
committer | Johannes Berg | 2013-03-06 16:47:00 +0100 |
commit | 80d8565557747854d6ff7fc0a756cc71a9fa2372 (patch) | |
tree | 50ebe3f0778db8c9d61db4f74c29f8a3c03c7f84 /.gitignore | |
parent | iwlwifi: mvm: respect disable Tx AGG parameter (diff) | |
download | kernel-qcow2-linux-80d8565557747854d6ff7fc0a756cc71a9fa2372.tar.gz kernel-qcow2-linux-80d8565557747854d6ff7fc0a756cc71a9fa2372.tar.xz kernel-qcow2-linux-80d8565557747854d6ff7fc0a756cc71a9fa2372.zip |
iwlwifi: mvm: free AGG queue when we STA is removed
When we stop an AGG session, we need to look at the sequence
numbers in in the private area of the ieee80211_sta struct.
This allows us to know is the queue is empty. To get access
to this private area, we use fw_id_to_mac_id that maps
sta_id (index of the STA in fw table) to ieee80211_sta.
When the STA exists in fw, but not in mac80211, we set
an ERR ptr in fw_id_to_mac_id.
But if we first set an ERR ptr to fw_id_to_mac_id, and only
then flush the queues, then we won't be able to access the
sequence numbers in ieee80211_sta from the reclaim flow.
This means that we will never be able to release an AGG
queue when a station is deleted.
So first, flush the queue. That will let the reclaim flow
call iwl_mvm_check_ratid_empty which will disable the AGG
queue as needed, and only then, remove the mapping in
fw_id_to_mac_id.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions