diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/queue')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/queue/tx.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/queue/tx.c b/drivers/net/wireless/intel/iwlwifi/queue/tx.c index 451b06069350..0730657d54bf 100644 --- a/drivers/net/wireless/intel/iwlwifi/queue/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/queue/tx.c @@ -1072,6 +1072,7 @@ int iwl_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, int slots_num,  	return 0;  err_free_tfds:  	dma_free_coherent(trans->dev, tfd_sz, txq->tfds, txq->dma_addr); +	txq->tfds = NULL;  error:  	if (txq->entries && cmd_queue)  		for (i = 0; i < slots_num; i++) @@ -1752,8 +1753,11 @@ static int iwl_trans_txq_send_hcmd_sync(struct iwl_trans *trans,  	}  	if (test_bit(STATUS_FW_ERROR, &trans->status)) { -		IWL_ERR(trans, "FW error in SYNC CMD %s\n", cmd_str); -		dump_stack(); +		if (!test_and_clear_bit(STATUS_SUPPRESS_CMD_ERROR_ONCE, +					&trans->status)) { +			IWL_ERR(trans, "FW error in SYNC CMD %s\n", cmd_str); +			dump_stack(); +		}  		ret = -EIO;  		goto cancel;  	}  |