kernel_samsung_a53x/drivers/net/wireless/ath/ath11k
Luca Weiss 73b68308ab 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@fairphone.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231027-ath11k-rproc-defer-v1-1-f6b6a812cd18@fairphone.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 12:12:28 +01:00
..
ahb.c wifi: ath11k: Defer on rproc_get failure 2024-11-18 12:12:28 +01:00
ahb.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ce.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ce.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dbring.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dbring.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debug.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs_htt_stats.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs_htt_stats.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs_sta.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs_sta.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dp.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dp_rx.c wifi: ath11k: fix htt pktlog locking 2024-11-18 11:43:25 +01:00
dp_rx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dp_tx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dp_tx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal_desc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal_rx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal_rx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal_tx.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hal_tx.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hif.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
htc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
htc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hw.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
hw.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mac.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
mac.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mhi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mhi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pci.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
peer.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
peer.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qmi.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
qmi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reg.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
reg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rx_desc.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spectral.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
spectral.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
testmode.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
testmode.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
testmode_i.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
thermal.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
thermal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wmi.c wifi: ath11k: fix dfs radar event locking 2024-11-18 11:43:25 +01:00
wmi.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00