Hello Xu, On 05/11/2024 09:14, Xu Yang wrote: > The driver may go through below sequence when works as device mode: > > dwc3_suspend() > dwc3_suspend_common() > dwc3_core_exit() > dwc3_clk_disable() > clk_disable_unprepare(dwc->bus_clk); > dwc3_enable_susphy() > dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(i)); > > Then the driver will read dwc3 register after bus clk is disabled. If this > happens, the kernel will hang there. This will move dwc3_enable_susphy() > ahead to avoid such issue. > > Fixes: 705e3ce37bcc ("usb: dwc3: core: Fix system suspend on TI AM62 platforms") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Xu Yang <xu.yang_2@xxxxxxx> Thank you for the patch. But this was already addressed yesterday. https://lore.kernel.org/all/20241104-am62-lpm-usb-fix-v1-1-e93df73a4f0d@xxxxxxxxxx/ > --- > drivers/usb/dwc3/core.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c > index de434f78c560..b0f1e32d426f 100644 > --- a/drivers/usb/dwc3/core.c > +++ b/drivers/usb/dwc3/core.c > @@ -2347,6 +2347,15 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg) > (dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0)) & > DWC3_GUSB3PIPECTL_SUSPHY); > > + if (!PMSG_IS_AUTO(msg)) { This alone is not enough as device might have been runtime suspended before system suspend and we will still try to access the registers below causing a fault. > + /* > + * TI AM62 platform requires SUSPHY to be > + * enabled for system suspend to work. > + */ > + if (!dwc->susphy_state) > + dwc3_enable_susphy(dwc, true); > + } > + > switch (dwc->current_dr_role) { > case DWC3_GCTL_PRTCAP_DEVICE: > if (pm_runtime_suspended(dwc->dev)) > @@ -2398,15 +2407,6 @@ static int dwc3_suspend_common(struct dwc3 *dwc, pm_message_t msg) > break; > } > > - if (!PMSG_IS_AUTO(msg)) { > - /* > - * TI AM62 platform requires SUSPHY to be > - * enabled for system suspend to work. > - */ > - if (!dwc->susphy_state) > - dwc3_enable_susphy(dwc, true); > - } > - > return 0; > } > -- cheers, -roger