Issue description:During the wake-up sequence, if the system invokes dwc3->resume and detects that the parent device of dwc3 is in a runtime suspend state, the system will generate an error: runtime PM trying to activate child device xxx.dwc3 but parent is not active. Solution:At the dwc3->resume entry point, if the dwc3 controller is detected in a suspended state, the function shall return immediately without executing any further operations. Signed-off-by: Ryan Zhou <ryanzhou54@xxxxxxxxx> --- drivers/usb/dwc3/core.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 370fc524a468..06a6f8a67129 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -2687,6 +2687,9 @@ int dwc3_pm_resume(struct dwc3 *dwc) struct device *dev = dwc->dev; int ret = 0; + if (pm_runtime_suspended(dev)) + return ret; + pinctrl_pm_select_default_state(dev); pm_runtime_disable(dev); -- 2.25.1