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]

 



[ 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:
---
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