Re: [PATCH v2] drvier: usb: dwc3: Fix runtime PM trying to activate child device xxx.dwc3 but parent is not active

ryan zhou
2025-09-10T12:56:49Z

Hi Greg KH,
Sorry, I didn't understand your question. Are you asking for my patch
commit ID? I've resubmitted patch v3, and the commit details are as
follows:

commit 92bc5086f53404f6d14d8550209d1c8cd3fa9036 (HEAD -> usb-next-develop)

Or do you need the commit that introduced this issue?

Greg KH <gregkh@linuxfoundation.org> 于2025年9月10日周三 00:25写道：
>
> 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@gmail.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