mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-26 19:36:41 +00:00
iwlwifi: don't disable AGG queues that are not enabled
If the BA session is torn down before we had a chance to start it we shouldn't disable the AGG tx queues that weren't enabled. This can happen in two cases: 1) We get a delBA before we drained our Tx queues in agg start flow 2) We didn't get the (successfull) addBA response on time Reported-by: Daniel Chyan <dchyan@princeton.edu> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a46c3e424b
commit
8ff44ef26a
@ -590,11 +590,17 @@ turn_off:
|
||||
spin_unlock_bh(&priv->sta_lock);
|
||||
|
||||
if (test_bit(txq_id, priv->agg_q_alloc)) {
|
||||
/* If the transport didn't know that we wanted to start
|
||||
* agreggation, don't tell it that we want to stop them
|
||||
/*
|
||||
* If the transport didn't know that we wanted to start
|
||||
* agreggation, don't tell it that we want to stop them.
|
||||
* This can happen when we don't get the addBA response on
|
||||
* time, or we hadn't time to drain the AC queues.
|
||||
*/
|
||||
if (agg_state != IWL_AGG_STARTING)
|
||||
if (agg_state == IWL_AGG_ON)
|
||||
iwl_trans_tx_agg_disable(priv->trans, txq_id);
|
||||
else
|
||||
IWL_DEBUG_TX_QUEUES(priv, "Don't disable tx agg: %d\n",
|
||||
agg_state);
|
||||
iwlagn_dealloc_agg_txq(priv, txq_id);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user