mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-07-05 01:47:06 +08:00
73 lines
3.5 KiB
Diff
73 lines
3.5 KiB
Diff
From 633469e3bac10650ecff421ba6b9603d67da884b Mon Sep 17 00:00:00 2001
|
|
From: Nagarajan Maran <quic_nmaran@quicinc.com>
|
|
Date: Fri, 1 Apr 2022 14:53:10 +0300
|
|
Subject: [PATCH] ath11k: fix driver initialization failure with WoW
|
|
unsupported hw
|
|
|
|
In the "ath11k_wow_init", error value "EINVAL" is returned
|
|
when the check for firmware support of WoW feature fails,
|
|
which in turn stops the driver initialization.
|
|
|
|
Warning message:
|
|
[ 31.040144] ------------[ cut here ]------------
|
|
[ 31.040185] WARNING: CPU: 1 PID: 51 at drivers/net/wireless/ath/ath11k/wow.c:813 ath11k_wow_init+0xc8/0x13a8 [ath11k]
|
|
[ 31.043846] Modules linked in: ath11k_pci ath11k qmi_helpers
|
|
[ 31.054341] CPU: 1 PID: 51 Comm: kworker/u8:1 Tainted: G W 5.17.0-wt-ath-594817-ga7f6aa925cf8-dirty #17
|
|
[ 31.060078] Hardware name: Qualcomm Technologies, Inc. IPQ8074/AP-HK10-C2 (DT)
|
|
[ 31.070578] Workqueue: ath11k_qmi_driver_event ath11k_qmi_driver_event_work [ath11k]
|
|
[ 31.077782] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
|
|
[ 31.085676] pc : ath11k_wow_init+0xc8/0x13a8 [ath11k]
|
|
[ 31.092359] lr : ath11k_mac_register+0x548/0xb98 [ath11k]
|
|
[ 31.097567] sp : ffff80000aa13c40
|
|
[ 31.102944] x29: ffff80000aa13c40 x28: ffff800009184390 x27: ffff000002959f20
|
|
[ 31.106251] x26: ffff000002828000 x25: ffff000002830000 x24: ffff000002830000
|
|
[ 31.113369] x23: ffff000002820000 x22: ffff00000282854c x21: 0000000000000000
|
|
[ 31.120487] x20: ffff00000295cf20 x19: ffff000002828540 x18: 0000000000000031
|
|
[ 31.127605] x17: 0000000000000004 x16: ffff0000028285fc x15: ffff00000295b040
|
|
[ 31.134723] x14: 0000000000000067 x13: ffff00000282859c x12: 000000000000000d
|
|
[ 31.141840] x11: 0000000000000018 x10: 0000000000000004 x9 : 0000000000000000
|
|
[ 31.148959] x8 : ffff00000289d680 x7 : 0000000000000000 x6 : 000000000000003f
|
|
[ 31.156077] x5 : 0000000000000040 x4 : 0000000000000000 x3 : ffff000002820968
|
|
[ 31.163196] x2 : 0000000000000080 x1 : 0080008af9981779 x0 : ffff000002959f20
|
|
[ 31.170314] Call trace:
|
|
[ 31.177421] ath11k_wow_init+0xc8/0x13a8 [ath11k]
|
|
[ 31.179684] ath11k_core_qmi_firmware_ready+0x430/0x5e0 [ath11k]
|
|
[ 31.184548] ath11k_qmi_driver_event_work+0x16c/0x4f8 [ath11k]
|
|
[ 31.190623] process_one_work+0x134/0x350
|
|
[ 31.196262] worker_thread+0x12c/0x450
|
|
[ 31.200340] kthread+0xf4/0x110
|
|
[ 31.203986] ret_from_fork+0x10/0x20
|
|
[ 31.207026] ---[ end trace 0000000000000000 ]---
|
|
[ 31.210894] ath11k_pci 0000:01:00.0: failed to init wow: -22
|
|
[ 31.215467] ath11k_pci 0000:01:00.0: failed register the radio with mac80211: -22
|
|
[ 31.221117] ath11k_pci 0000:01:00.0: failed to create pdev core: -22
|
|
|
|
Fix this by returning value "0" when FW doesn't support WoW
|
|
to allow driver to proceed with initialize sequence and also
|
|
remove the unnecessary "WARN_ON".
|
|
|
|
|
|
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.5.0.1-01100-QCAHKSWPL_SILICONZ-1
|
|
|
|
Fixes: ba9177fcef21 ("ath11k: Add basic WoW functionalities")
|
|
Signed-off-by: Nagarajan Maran <quic_nmaran@quicinc.com>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20220331073110.3846-1-quic_nmaran@quicinc.com
|
|
---
|
|
drivers/net/wireless/ath/ath11k/wow.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/wow.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/wow.c
|
|
@@ -810,8 +810,8 @@ exit:
|
|
|
|
int ath11k_wow_init(struct ath11k *ar)
|
|
{
|
|
- if (WARN_ON(!test_bit(WMI_TLV_SERVICE_WOW, ar->wmi->wmi_ab->svc_map)))
|
|
- return -EINVAL;
|
|
+ if (!test_bit(WMI_TLV_SERVICE_WOW, ar->wmi->wmi_ab->svc_map))
|
|
+ return 0;
|
|
|
|
ar->wow.wowlan_support = ath11k_wowlan_support;
|
|
|