From abbcea13bc5d01fb77d93c718d79e81145f8bb39 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 30 Apr 2025 15:57:19 +0300 Subject: [PATCH] wifi: iwlwifi: mld: handle SW reset w/o NIC error For the upcoming TOP reset, the sw_reset() method may be called without nic_error() before it. In this case, also abort any still pending scans and set in_hw_restart. Signed-off-by: Johannes Berg Signed-off-by: Miri Korenblit Link: https://patch.msgid.link/20250430155443.b732ff4e9f31.I3948c2d892f1ee82b3a6bf9f123be02a1eaa82e5@changeid --- drivers/net/wireless/intel/iwlwifi/mld/mld.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mld.c b/drivers/net/wireless/intel/iwlwifi/mld/mld.c index 87624730fb50..5d91de598256 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mld.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mld.c @@ -674,6 +674,13 @@ static bool iwl_mld_sw_reset(struct iwl_op_mode *op_mode, { struct iwl_mld *mld = IWL_OP_MODE_GET_MLD(op_mode); + /* SW reset can happen for TOP error w/o NIC error, so + * also abort scan here and set in_hw_restart, when we + * had a NIC error both were already done. + */ + iwl_mld_report_scan_aborted(mld); + mld->fw_status.in_hw_restart = true; + /* Do restart only in the following conditions are met: * - we consider the FW as running * - The trigger that brought us here is defined as one that requires -- 2.50.1