diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2024-10-28 13:54:55 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2024-11-07 14:42:30 +0100 |
commit | 0572b7715ffd2cac20aac00333706f3094028180 (patch) | |
tree | 4cf32a28ca902a0e620b516f8273c4a1db078879 /drivers/net/wireless/intel/iwlwifi/fw/dump.c | |
parent | d1a54ec21b8e7bca59141ff1ac6ce73e07d744f2 (diff) |
wifi: iwlwifi: be less noisy if the NIC is dead in S3
If the NIC is dead upon resume, try to catch the error earlier and exit
earlier. We'll print less error messages and get to the same recovery
path as before: reload the firmware.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20241028135215.3a18682261e5.I18f336a4537378a4c1a8537d7246cee1fc82b42c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/dump.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/dump.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dump.c b/drivers/net/wireless/intel/iwlwifi/fw/dump.c index 3cabdeb53e99..8e0c85a1240d 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/dump.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/dump.c @@ -537,13 +537,18 @@ bool iwl_fwrt_read_err_table(struct iwl_trans *trans, u32 base, u32 *err_id) /* cf. struct iwl_error_event_table */ u32 valid; __le32 err_id; - } err_info; + } err_info = {}; + int ret; if (!base) return false; - iwl_trans_read_mem_bytes(trans, base, - &err_info, sizeof(err_info)); + ret = iwl_trans_read_mem_bytes(trans, base, + &err_info, sizeof(err_info)); + + if (ret) + return true; + if (err_info.valid && err_id) *err_id = le32_to_cpu(err_info.err_id); |