[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2025090959-italicize-silly-f628@gregkh>
Date: Tue, 9 Sep 2025 18:25:09 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Ryan Zhou <ryanzhou54@...il.com>
Cc: stern@...land.harvard.edu, Thinh.Nguyen@...opsys.com,
linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org,
linux-usb@...r.kernel.org, rafael@...nel.org, royluo@...gle.com
Subject: Re: [PATCH v2] drvier: usb: dwc3: Fix runtime PM trying to activate
child device xxx.dwc3 but parent is not active
On Wed, Sep 10, 2025 at 12:19:01AM +0800, Ryan Zhou wrote:
> 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@...il.com>
> ---
> 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
>
>
What commit id does this fi?
thanks,
greg k-h
Powered by blists - more mailing lists