From 2fe9a76eb3c8ec5a6d2d281740bad580eb53a903 Mon Sep 17 00:00:00 2001 From: Fei Shao Date: Fri, 26 Jun 2026 16:21:52 +0800 Subject: [PATCH] usb: mtu3: condition PHY wakeup for host mode and runtime suspend Host bus activity during gadget mode system suspend can trigger unexpected system wakeups via interrupts because PHY wakeup is enabled unconditionally. Improve the suspend flow by conditioning PHY wakeup setup on device_may_wakeup() and restricting it to host mode or runtime suspend to ensure proper wakeup handling in gadget mode. Signed-off-by: Fei Shao Link: https://patch.msgid.link/20260626082218.2750459-3-fshao@chromium.org Signed-off-by: Greg Kroah-Hartman --- drivers/usb/mtu3/mtu3_plat.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/mtu3/mtu3_plat.c b/drivers/usb/mtu3/mtu3_plat.c index cc8a864dbd63..b4f4c776adb9 100644 --- a/drivers/usb/mtu3/mtu3_plat.c +++ b/drivers/usb/mtu3/mtu3_plat.c @@ -544,7 +544,8 @@ static int mtu3_suspend_common(struct device *dev, pm_message_t msg) ssusb_phy_power_off(ssusb); clk_bulk_disable_unprepare(BULK_CLKS_CNT, ssusb->clks); - ssusb_wakeup_set(ssusb, true); + if (device_may_wakeup(dev) && (ssusb->is_host || PMSG_IS_AUTO(msg))) + ssusb_wakeup_set(ssusb, true); return 0; sleep_err: