aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-tx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-tx.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-tx.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c
index 888a8e9fe9ef..58b132f9cf28 100644
--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
@@ -1350,8 +1350,16 @@ int iwl_tx_agg_stop(struct iwl_priv *priv , const u8 *ra, u16 tid)
1350 return -ENXIO; 1350 return -ENXIO;
1351 } 1351 }
1352 1352
1353 if (priv->stations[sta_id].tid[tid].agg.state ==
1354 IWL_EMPTYING_HW_QUEUE_ADDBA) {
1355 IWL_DEBUG_HT(priv, "AGG stop before setup done\n");
1356 ieee80211_stop_tx_ba_cb_irqsafe(priv->hw, ra, tid);
1357 priv->stations[sta_id].tid[tid].agg.state = IWL_AGG_OFF;
1358 return 0;
1359 }
1360
1353 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON) 1361 if (priv->stations[sta_id].tid[tid].agg.state != IWL_AGG_ON)
1354 IWL_WARN(priv, "Stopping AGG while state not IWL_AGG_ON\n"); 1362 IWL_WARN(priv, "Stopping AGG while state not ON or starting\n");
1355 1363
1356 tid_data = &priv->stations[sta_id].tid[tid]; 1364 tid_data = &priv->stations[sta_id].tid[tid];
1357 ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; 1365 ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4;