diff mbox

[EXTERNAL] Re: [RFT 3/6] wlcore: Add support for runtime PM

Message ID 20180613064238.GC112168@atomide.com (mailing list archive)
State RFC
Delegated to: Kalle Valo
Headers show

Commit Message

Tony Lindgren June 13, 2018, 6:42 a.m. UTC
Hi,

* Reizer, Eyal <eyalr@ti.com> [180606 05:22]:
> Latest wl18xx firmware was running fine for two days without the crash, so it was indeed just a logging issue in this case.

OK good to hear.

> However, trying a wl1281 module and enabling PLT mode it boots ok but after a couple of seconds the below crash is seen.
> Seems like a similar crash to the one I have seen before,right?

Sorry for the delay, only today had enough time to figure
this one out, see below.

> sh-4.4# calibrator wlan0 plt power_mode on
> [   57.198492] wlcore: power up
> [   57.757871] wlcore: firmware booted in PLT mode PLT_ON (PLT 7.3.10.2.142)
> sh-4.4#
> sh-4.4#
> sh-4.4# ca[   86.485020] ------------[ cut here ]------------
> [   86.490334] WARNING: CPU: 0 PID: 502 at drivers/net/wireless/ti/wlcore/main.c:806

This happens on runtime_suspend() where we are already in PLT
and then that error gets stored and then next pm_runtime_get()
returns -EINVAL. The patch below should fix it. I'll fold it
into the runtime PM related patch assuming it works for you.

Regards,

Tony

8< -------
diff mbox

Patch

diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -6677,7 +6677,7 @@  static int __maybe_unused wlcore_runtime_suspend(struct device *dev)
 
 	/* We do not enter elp sleep in PLT mode */
 	if (wl->plt)
-		return -EINVAL;
+		return 0;
 
 	/* Nothing to do if no ELP mode requested */
 	if (wl->sleep_auth != WL1271_PSM_ELP)