Re: [PATCH 6.12] wifi: iwlwifi: be less noisy if the NIC is dead in S3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 2024-12-23 at 09:35 -0500, Sasha Levin wrote:
> [ Sasha's backport helper bot ]
> 
> Hi,
> 
> The upstream commit SHA1 provided is correct:
> 0572b7715ffd2cac20aac00333706f3094028180
> 
> 
> Status in newer kernel trees:
> 6.12.y | Not found
> 
> Note: The patch differs from the upstream commit:

This is true.
The original patch needs a cleanup patch that moves iwl_mvm_rt_status
to another file and renames the function. This explains the different
between both versions of the patch.
I also added the link to the bugzilla that was opened after the patch
was already on its way upstream.

> ---
> 1:  0572b7715ffd ! 1:  b10ffc08e8ba wifi: iwlwifi: be less noisy if
> the NIC is dead in S3
>     @@ Metadata
>       ## Commit message ##
>          wifi: iwlwifi: be less noisy if the NIC is dead in S3
>      
>     +    commit 0572b7715ffd2cac20aac00333706f3094028180 upstream
>     +
>          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.
>     @@ Commit message
>          Signed-off-by: Miri Korenblit
> <miriam.rachel.korenblit@xxxxxxxxx>
>          Link:
> https://patch.msgid.link/20241028135215.3a18682261e5.I18f336a4537378a4c1a8537d7246cee1fc82b42c@changeid
>          Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>
>     -
>     - ## drivers/net/wireless/intel/iwlwifi/fw/dump.c ##
>     -@@ drivers/net/wireless/intel/iwlwifi/fw/dump.c: 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);
>     - 
>     +    Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219597
>      
>       ## drivers/net/wireless/intel/iwlwifi/iwl-trans.h ##
>      @@ drivers/net/wireless/intel/iwlwifi/iwl-trans.h: int
> iwl_trans_read_config32(struct iwl_trans *trans, u32 ofs,
>     @@ drivers/net/wireless/intel/iwlwifi/iwl-trans.h: int
> iwl_trans_read_config32(stru
>       			    u64 src_addr, u32 byte_cnt);
>      
>       ## drivers/net/wireless/intel/iwlwifi/mvm/d3.c ##
>     -@@ drivers/net/wireless/intel/iwlwifi/mvm/d3.c: static void
> iwl_mvm_d3_disconnect_iter(void *data, u8 *mac,
>     - 		ieee80211_resume_disconnect(vif);
>     - }
>     +@@ drivers/net/wireless/intel/iwlwifi/mvm/d3.c: static bool
> iwl_mvm_rt_status(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);
>       
>     --
>     - static bool iwl_mvm_check_rt_status(struct iwl_mvm *mvm,
>     - 				   struct ieee80211_vif *vif)
>     - {
>      @@ drivers/net/wireless/intel/iwlwifi/mvm/d3.c: int
> iwl_mvm_fast_resume(struct iwl_mvm *mvm)
>       	iwl_fw_dbg_read_d3_debug_data(&mvm->fwrt);
>       
> ---
> 
> Results of testing on various branches:
> 
> > Branch                    | Patch Apply | Build Test |
> > ---------------------------|-------------|------------|
> > stable/linux-6.12.y       |  Success    |  Success   |





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux