From: Liad Kaufman <liad.kauf...@intel.com>

In DQA mode, there is no need to wait for the TXQ to
clear out after getting a DELBA, since traffic can
continue running on the queue.

Signed-off-by: Liad Kaufman <liad.kauf...@intel.com>
Signed-off-by: Luca Coelho <luciano.coe...@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c 
b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index bc52739eeb25..c76ffe1476b4 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -2814,8 +2814,13 @@ int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct 
ieee80211_vif *vif,
                                    "ssn = %d, next_recl = %d\n",
                                    tid_data->ssn, tid_data->next_reclaimed);
 
-               /* There are still packets for this RA / TID in the HW */
-               if (tid_data->ssn != tid_data->next_reclaimed) {
+               /*
+                * There are still packets for this RA / TID in the HW.
+                * Not relevant for DQA mode, since there is no need to disable
+                * the queue.
+                */
+               if (!iwl_mvm_is_dqa_supported(mvm) &&
+                   tid_data->ssn != tid_data->next_reclaimed) {
                        tid_data->state = IWL_EMPTYING_HW_QUEUE_DELBA;
                        err = 0;
                        break;
-- 
2.11.0

Reply via email to