Commit c2945f39 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville

iwlwifi: print DMA stop timeout error only if it happened

iwl_poll_direct_bit() return negative error value on timeout,
positive values do not indicate an error.
Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 05f5b97e
...@@ -1211,7 +1211,7 @@ static void iwl_trans_pcie_fw_alive(struct iwl_trans *trans) ...@@ -1211,7 +1211,7 @@ static void iwl_trans_pcie_fw_alive(struct iwl_trans *trans)
*/ */
static int iwl_trans_tx_stop(struct iwl_trans *trans) static int iwl_trans_tx_stop(struct iwl_trans *trans)
{ {
int ch, txq_id; int ch, txq_id, ret;
unsigned long flags; unsigned long flags;
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans); struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
...@@ -1224,9 +1224,10 @@ static int iwl_trans_tx_stop(struct iwl_trans *trans) ...@@ -1224,9 +1224,10 @@ static int iwl_trans_tx_stop(struct iwl_trans *trans)
for (ch = 0; ch < FH_TCSR_CHNL_NUM; ch++) { for (ch = 0; ch < FH_TCSR_CHNL_NUM; ch++) {
iwl_write_direct32(trans, iwl_write_direct32(trans,
FH_TCSR_CHNL_TX_CONFIG_REG(ch), 0x0); FH_TCSR_CHNL_TX_CONFIG_REG(ch), 0x0);
if (iwl_poll_direct_bit(trans, FH_TSSR_TX_STATUS_REG, ret = iwl_poll_direct_bit(trans, FH_TSSR_TX_STATUS_REG,
FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ch), FH_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ch),
1000)) 1000);
if (ret < 0)
IWL_ERR(trans, "Failing on timeout while stopping" IWL_ERR(trans, "Failing on timeout while stopping"
" DMA channel %d [0x%08x]", ch, " DMA channel %d [0x%08x]", ch,
iwl_read_direct32(trans, iwl_read_direct32(trans,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment