> >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 > i>nto the runtime PM related patch assuming it works for you. > > > >Regards, > > > >Tony > > > >8< ------- > >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) > > Even with this change I still see issues with a wl1281 module plugged in. > It take a few seconds for the crash to happen once you turn plt on. > Log below. > Do you see this on your wl12xx based platform? > > sh-4.4# > sh-4.4# calibrator wlan0 plt power_mode on > [ 231.105877] wlcore: power up > [ 231.667604] wlcore: firmware booted in PLT mode PLT_ON (PLT > 7.3.10.2.142) > sh-4.4# > sh-4.4# > sh-4.4# [ 236.900817] ------------[ cut here ]------------ > [ 236.906012] WARNING: CPU: 0 PID: 520 at > drivers/net/wireless/ti/wlcore/main.c:806 Hold on, I might have edited the wrong version of the file (main.c). Sorry about that. Working on too many branches/boards... :( Applied this change again and things look good now with the wl1281 based module. Best Regards, Eyal