Linux USB
 help / color / mirror / Atom feed
* [PATCH 0/2] usb: dwc3: recover USB3 link after controller power loss
@ 2026-11-06 11:19 Xu Yang
  2026-11-06 11:19 ` [PATCH 1/2] usb: dwc3: wait for the port to leave RxDetect before xHCI reset Xu Yang
  2026-11-06 11:19 ` [PATCH 2/2] usb: dwc3: imx8mp: set needs_full_reinit as true Xu Yang
  0 siblings, 2 replies; 5+ messages in thread
From: Xu Yang @ 2026-11-06 11:19 UTC (permalink / raw)
  To: Thinh.Nguyen, gregkh
  Cc: Frank.Li, s.hauer, kernel, festevam, linux-usb, imx,
	linux-arm-kernel, linux-kernel, jun.li

From: Xu Yang <xu.yang_2@nxp.com>

This series fixes a USB3 link recovery failure observed on an i.MX SoC
when the DWC3 host controller loses power during system suspend.

After power is restored, the USB3 port starts in the Disconnected
(RxDetect) state instead of retaining its previous Enabled (U3) state.
Testing on the i.MX SoC shows that the port takes about 2 ms after host
mode is restored to leave RxDetect and enter Polling.

If xHCI is reset while the port is still in RxDetect, the port does not
issue a Warm Reset. Since the USB3 device may still be in U3, the
subsequent LFPS.Polling attempts time out and the controller eventually
reports the device as disconnected.

The first patch adds a DWC3 xHCI resume quirk that waits for the port to
leave RxDetect before xHCI is reset. The second patch enables this quirk
for the affected i.MX8MP platform by setting needs_full_reinit.

With this delay, xHCI is reset after the port can enter Polling, allowing
a Warm Reset to be issued and the USB3 link to recover normally.

Xu Yang (2):
  usb: dwc3: wait for the port to leave RxDetect before xHCI reset
  usb: dwc3: imx8mp: set needs_full_reinit as true

 drivers/usb/dwc3/dwc3-imx8mp.c |  1 +
 drivers/usb/dwc3/host.c        | 21 +++++++++++++++++++++
 2 files changed, 22 insertions(+)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-11-06 11:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-06 11:19 [PATCH 0/2] usb: dwc3: recover USB3 link after controller power loss Xu Yang
2026-11-06 11:19 ` [PATCH 1/2] usb: dwc3: wait for the port to leave RxDetect before xHCI reset Xu Yang
2026-11-06 11:36   ` sashiko-bot
2026-11-06 11:19 ` [PATCH 2/2] usb: dwc3: imx8mp: set needs_full_reinit as true Xu Yang
2026-11-06 11:44   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox