Re: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Tony Lindgren <tony@xxxxxxxxxxx> [180521 16:40]:
> * Reizer, Eyal <eyalr@xxxxxx> [180521 07:31]:
> > > Here's a series of patches to add runtime PM support for wlcore. It does not
> > > yet implement autosuspend support, but let's get this tested first as the
> > > autosuspend can mask enable/disable issues easily.
> > 
> > Testing on BBB+WL1837 cape, scan, recovery, down/up and basic traffic seems ok now.
> > Of course we need to test some more.
> 
> Thanks for testing. Yes let's do more testing, no rush with these.
> Hopefully they'll be ready for v4.19 merge window though.
> 
> > Standard suspend/resume seems to work ok as well.
> > Ennabling wowlan and suspending is  crashing on resume. See below.
> > 
> > root@am335x-evm:/usr/share/wl18xx# iw phy0 wowlan enable any dme
> > root@am335x-evm:/usr/share/wl18xx#
> > root@am335x-evm:/usr/share/wl18xx# echo mem > /sys/power/state
> > [  541.567039] PM: suspend entry (deep)
> > [  541.570688] PM: Syncing filesystems ... done.
> > [  541.594277] Freezing user space processes ... (elapsed 0.001 seconds) done.
> > [  541.603160] OOM killer disabled.
> > [  541.606738] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
> > [  541.615984] Suspending console(s) (use no_console_suspend to debug)
> > [  542.895091] pm33xx pm33xx: PM: Successfully put all powerdomains to target state
> > [  542.895091] PM: Wakeup source UART
> > [  542.919791] net eth0: initializing cpsw version 1.12 (0)
> > [  543.017880] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
> > [  543.027646] ------------[ cut here ]------------
> > [  543.028023] WARNING: CPU: 0 PID: 932 at drivers/net/wireless/ti/wlcore/cmd.c:76 wlcore_cmd_send_failsafe+0x498/0x4f8 [wlcore]
> 
> This warning is because wlcore is wlcore is still in ELP. This is
> somehow possible even though we call pm_runtime_get_sync() in
> wl1271_op_resume(). Anyways, I'll try to reproduce it here.

Sorry I can't somehow get my beagleboard to wake-up from suspend,
I'm almost certain that worked the last time I tried.

Anyways, maybe the following patch fixes this if you care to
test again.

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
@@ -1867,8 +1867,6 @@ static int __maybe_unused wl1271_op_resume(struct ieee80211_hw *hw)
 			if (ret)
 				wl12xx_queue_recovery_work(wl);
 		}
-
-		wlcore_enable_interrupts(wl);
 	}
 
 	if (pending_recovery) {
@@ -1877,6 +1875,8 @@ static int __maybe_unused wl1271_op_resume(struct ieee80211_hw *hw)
 		goto out_sleep;
 	}
 
+	wlcore_enable_interrupts(wl);
+
 	ret = pm_runtime_get_sync(wl->dev);
 	if (ret < 0) {
 		pm_runtime_put_noidle(wl->dev);
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux