diff
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/txq.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/txq.c
@@ -1,6 +1,7 @@
 1 static void iwl_txq_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
 4 	struct iwl_txq *txq = trans->txqs.txq[txq_id];
 5 	int tfd_num, read_ptr, last_to_free;
+6 	int txq_count = ARRAY_SIZE(trans->txqs.txq); 
+
 8 	if (WARN_ON(txq_id == trans->txqs.cmd.q_id))
+9 		return;
+10 	if (WARN_ON(txq_id >= txq_count || txq_id < 0))
 11 	if (WARN_ON(!txq))
 15 	read_ptr = iwl_txq_get_cmd_index(txq, txq->read_ptr);

