diff mbox series

wifi: ath11k: reduce the MHI timeout to 20s

Message ID 20230329162038.8637-1-kvalo@kernel.org (mailing list archive)
State Accepted
Commit cf5fa3ca0552f1b7ba8490de40700bbfb6979b17
Delegated to: Kalle Valo
Headers show
Series wifi: ath11k: reduce the MHI timeout to 20s | expand

Commit Message

Kalle Valo March 29, 2023, 4:20 p.m. UTC
From: Kalle Valo <quic_kvalo@quicinc.com>

Currently ath11k breaks after hibernation, the reason being that ath11k expects
that the wireless device will have power during suspend and the firmware will
continue running. But of course during hibernation the power from the device is
cut off and firmware is not running when resuming, so ath11k will fail.

(The reason why ath11k needs the firmware running is the interaction between
mac80211 and MHI stack, it's a long story and more info in the bugzilla report.)

In SUSE kernels the watchdog timeout is reduced from the default 120 to 60 seconds:

CONFIG_DPM_WATCHDOG_TIMEOUT=60

But as the ath11k MHI timeout is 90 seconds the kernel will crash before will
ath11k will recover in resume callback. To avoid the crash reduce the MHI
timeout to just 20 seconds.

Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9

Link: https://bugzilla.kernel.org/show_bug.cgi?id=214649
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
---
 drivers/net/wireless/ath/ath11k/mhi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


base-commit: bea046575a2e6d7d1cf63cc7ab032647a3585de5

Comments

Kalle Valo April 3, 2023, 1:49 p.m. UTC | #1
Kalle Valo <kvalo@kernel.org> wrote:

> From: Kalle Valo <quic_kvalo@quicinc.com>
> 
> Currently ath11k breaks after hibernation, the reason being that ath11k expects
> that the wireless device will have power during suspend and the firmware will
> continue running. But of course during hibernation the power from the device is
> cut off and firmware is not running when resuming, so ath11k will fail.
> 
> (The reason why ath11k needs the firmware running is the interaction between
> mac80211 and MHI stack, it's a long story and more info in the bugzilla report.)
> 
> In SUSE kernels the watchdog timeout is reduced from the default 120 to 60 seconds:
> 
> CONFIG_DPM_WATCHDOG_TIMEOUT=60
> 
> But as the ath11k MHI timeout is 90 seconds the kernel will crash before will
> ath11k will recover in resume callback. To avoid the crash reduce the MHI
> timeout to just 20 seconds.
> 
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.9
> 
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=214649
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to wireless.git, thanks.

cf5fa3ca0552 wifi: ath11k: reduce the MHI timeout to 20s
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c
index 86995e8dc913..a62ee05c5409 100644
--- a/drivers/net/wireless/ath/ath11k/mhi.c
+++ b/drivers/net/wireless/ath/ath11k/mhi.c
@@ -16,7 +16,7 @@ 
 #include "pci.h"
 #include "pcic.h"
 
-#define MHI_TIMEOUT_DEFAULT_MS	90000
+#define MHI_TIMEOUT_DEFAULT_MS	20000
 #define RDDM_DUMP_SIZE	0x420000
 
 static struct mhi_channel_config ath11k_mhi_channels_qca6390[] = {