Patch "wifi: ath11k: Defer on rproc_get failure" has been added to the 6.7-stable tree

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

 



This is a note to let you know that I've just added the patch titled

    wifi: ath11k: Defer on rproc_get failure

to the 6.7-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     wifi-ath11k-defer-on-rproc_get-failure.patch
and it can be found in the queue-6.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 13c9c672099f9c16c8308a610f7a4d8fffe7882c
Author: Luca Weiss <luca.weiss@xxxxxxxxxxxxx>
Date:   Fri Oct 27 08:57:18 2023 +0200

    wifi: ath11k: Defer on rproc_get failure
    
    [ Upstream commit 2a3ec40b98b46c339adb57313d3b933ee5e7a8e8 ]
    
    If we already have gotten the rproc_handle (meaning the "qcom,rproc"
    property is defined in the devicetree), it's a valid state that the
    remoteproc module hasn't probed yet so we should defer probing instead
    of just failing to probe.
    
    This resolves a race condition when the ath11k driver probes and fails
    before the wpss remoteproc driver has probed, like the following:
    
      [    6.232360] ath11k 17a10040.wifi: failed to get rproc
      [    6.232366] ath11k 17a10040.wifi: failed to get rproc: -22
      [    6.232478] ath11k: probe of 17a10040.wifi failed with error -22
           ...
      [    6.252415] remoteproc remoteproc2: 8a00000.remoteproc is available
      [    6.252776] remoteproc remoteproc2: powering up 8a00000.remoteproc
      [    6.252781] remoteproc remoteproc2: Booting fw image qcom/qcm6490/fairphone5/wpss.mdt, size 7188
    
    So, defer the probe if we hit that so we can retry later once the wpss
    remoteproc is available.
    
    Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-01264-QCAMSLSWPLZ-1.37886.3
    
    Fixes: d5c65159f289 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
    Signed-off-by: Luca Weiss <luca.weiss@xxxxxxxxxxxxx>
    Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20231027-ath11k-rproc-defer-v1-1-f6b6a812cd18@xxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c
index 235336ef2a7a..f8f5e653cd03 100644
--- a/drivers/net/wireless/ath/ath11k/ahb.c
+++ b/drivers/net/wireless/ath/ath11k/ahb.c
@@ -803,8 +803,8 @@ static int ath11k_core_get_rproc(struct ath11k_base *ab)
 
 	prproc = rproc_get_by_phandle(rproc_phandle);
 	if (!prproc) {
-		ath11k_err(ab, "failed to get rproc\n");
-		return -EINVAL;
+		ath11k_dbg(ab, ATH11K_DBG_AHB, "failed to get rproc, deferring\n");
+		return -EPROBE_DEFER;
 	}
 	ab_ahb->tgt_rproc = prproc;
 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux