[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2025051557-dismantle-exclude-c437@gregkh>
Date: Thu, 15 May 2025 09:32:24 +0200
From: Greg KH <gregkh@...uxfoundation.org>
To: Roy Luo <royluo@...gle.com>
Cc: Thinh.Nguyen@...opsys.com, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1 2/2] usb: dwc3: Force full reset on xhci removal
On Thu, May 15, 2025 at 04:02:59AM +0000, Roy Luo wrote:
> During an xhci host controller reset (via `USBCMD.HCRST`), reading DWC3
> registers can return zero instead of their actual values. This applies
> not only to registers within the xhci memory space but also those in
> the broader DWC3 IP block.
>
> By default, the xhci driver doesn't wait for the reset handshake to
> complete during teardown. This can cause problems when the DWC3 controller
> is operating as a dual role device and is switching from host to device
> mode, the invalid register read caused by ongoing HCRST could lead to
> gadget mode startup failures and unintended register overwrites.
>
> To mitigate this, enable xhci-full-reset-on-remove-quirk to ensure that
> xhci_reset() completes its full reset handshake during xhci removal.
>
> Signed-off-by: Roy Luo <royluo@...gle.com>
> ---
> drivers/usb/dwc3/host.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
What commit id does this fix? Should it also go to stable kernels? If
so, how far back?
thanks,
greg k-h
Powered by blists - more mailing lists