diff options
| author | Johannes Berg <johannes.berg@intel.com> | 2024-12-27 10:01:11 +0200 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2025-01-13 15:26:39 +0100 |
| commit | 7391b2a4f7dbb7be7dd763bc87506c10f570a8d3 (patch) | |
| tree | bf93c69a81695b5d2aa97332c4b790da34f8ab90 /drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | |
| parent | 2d15d213e3d83108f1e29a80b230f9adb8b6e0c9 (diff) | |
| download | linux-7391b2a4f7dbb7be7dd763bc87506c10f570a8d3.tar.gz linux-7391b2a4f7dbb7be7dd763bc87506c10f570a8d3.tar.bz2 linux-7391b2a4f7dbb7be7dd763bc87506c10f570a8d3.zip | |
wifi: iwlwifi: rework firmware error handling
In order to later add the ability to do deeper resets of the
device when it crashes, first restructure the firmware error
handling. Instead of having just a single nic_error() method
that handles all, split it:
- nic_error() just handles and prints the error itself,
- dump_error() synchronously creates an error dump, and
- sw_reset() will be called to request doing a SW reset.
This changes the architecture so that the transport is now
responsible for deciding how to do the reset, and therefore
the handling of reprobe if error occurs during reconfig
moves there, which necessitates adding a method there that
notifies the transport that the recovery was completed.
Actually introducing the model under which deeper resets can
be done will be in future patches.
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.6d4f741ae907.I96a9243e7877808ed6d1bff6967c15d6c24882f0@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c index b82a2ac50d5b..3e0f34dc6e1a 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -1340,6 +1340,7 @@ static void iwl_mvm_restart_complete(struct iwl_mvm *mvm) iwl_mvm_teardown_tdls_peers(mvm); IWL_INFO(mvm, "restart completed\n"); + iwl_trans_finish_sw_reset(mvm->trans); } void iwl_mvm_mac_reconfig_complete(struct ieee80211_hw *hw, |
