diff options
author | Johannes Berg <johannes.berg@intel.com> | 2024-12-27 11:00:56 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2025-01-13 16:01:51 +0300 |
commit | a3092c99b95e223678be31711a889890cf02ab35 (patch) | |
tree | b53a63e1dffaa737ffd7baf6d0a3abf13e6e8252 /drivers/net/wireless/intel/iwlwifi/mvm/ops.c | |
parent | aa93ca6f652f6fec2a13cd79d6200912e40c8101 (diff) | |
download | linux-a3092c99b95e223678be31711a889890cf02ab35.tar.xz |
wifi: iwlwifi: differentiate NIC error types
Instead of differentiating only sync/async, differentiate
the type of error, and document that only reset handshake
timeout (IWL_ERR_TYPE_RESET_HS_TIMEOUT) needs sync handling.
The special sync handling is somewhat temporary, the idea
is to later split the nic_error() method into error dump,
synchronizing the dump, and SW reset methods, and the type
is mostly in order to unify command queue full handling
into that new architecture as well.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241227095718.aed9c9e4fac0.I2288042bec4728a75b61cb7f6ded5214bfa3ce85@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/ops.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index 0deaf6ed8994..e21199313278 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -2108,7 +2108,8 @@ void iwl_mvm_nic_restart(struct iwl_mvm *mvm, bool fw_error) } } -static void iwl_mvm_nic_error(struct iwl_op_mode *op_mode, bool sync) +static void iwl_mvm_nic_error(struct iwl_op_mode *op_mode, + enum iwl_fw_error_type type) { struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode); @@ -2117,13 +2118,9 @@ static void iwl_mvm_nic_error(struct iwl_op_mode *op_mode, bool sync) &mvm->status)) iwl_mvm_dump_nic_error_log(mvm); - if (sync) { + /* reset HS timeout is during shutdown, so collect right now */ + if (type == IWL_ERR_TYPE_RESET_HS_TIMEOUT) { iwl_fw_error_collect(&mvm->fwrt, true); - /* - * Currently, the only case for sync=true is during - * shutdown, so just stop in this case. If/when that - * changes, we need to be a bit smarter here. - */ return; } |