iwlwifi: trans: prevent reprobe on repeated FW errors before restart

In case a sync command timeouts or Tx is stuck while a FW error
interrupt arrives, we might call iwl_op_mode_nic_error twice before
a restart has been initiated. This will cause a reprobe. Unify calls
to this function at the transport level and only call it on the first
FW error in a given by checking the transport FW error flag.

While at it, remove the privately defined iwl_nic_error from PCIE code
and use the common callback instead.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
这个提交包含在:
Arik Nemtsov
2013-12-01 13:50:40 +02:00
提交者 Emmanuel Grumbach
父节点 8c678ed466
当前提交 2a988e9808
修改 4 个文件,包含 20 行新增15 行删除

查看文件

@@ -456,10 +456,4 @@ static inline bool iwl_is_rfkill_set(struct iwl_trans *trans)
CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW);
}
static inline void iwl_nic_error(struct iwl_trans *trans)
{
set_bit(STATUS_FW_ERROR, &trans->status);
iwl_op_mode_nic_error(trans->op_mode);
}
#endif /* __iwl_trans_int_pcie_h__ */