iwlwifi: mvm: consider TDLS queues as used during drain
When a TDLS station is being drained its Tx queues are still in use. Don't allocate them to a different station in the meantime. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
7ac4a50a7c
commit
51ec09af2d
1 changed files with 8 additions and 0 deletions
|
@ -244,6 +244,7 @@ static void iwl_mvm_mac_sta_hw_queues_iter(void *_data,
|
|||
unsigned long iwl_mvm_get_used_hw_queues(struct iwl_mvm *mvm,
|
||||
struct ieee80211_vif *exclude_vif)
|
||||
{
|
||||
u8 sta_id;
|
||||
struct iwl_mvm_hw_queues_iface_iterator_data data = {
|
||||
.exclude_vif = exclude_vif,
|
||||
.used_hw_queues =
|
||||
|
@ -264,6 +265,13 @@ unsigned long iwl_mvm_get_used_hw_queues(struct iwl_mvm *mvm,
|
|||
iwl_mvm_mac_sta_hw_queues_iter,
|
||||
&data);
|
||||
|
||||
/*
|
||||
* Some TDLS stations may be removed but are in the process of being
|
||||
* drained. Don't touch their queues.
|
||||
*/
|
||||
for_each_set_bit(sta_id, mvm->sta_drained, IWL_MVM_STATION_COUNT)
|
||||
data.used_hw_queues |= mvm->tfd_drained[sta_id];
|
||||
|
||||
return data.used_hw_queues;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue