Re: [PATCH 1/2] dt-bindings: usb: xhci: add xhci-no-soft-retry-quirk
From: Krishna Kurapati
Date: Fri Aug 28 2026 - 13:51:47 EST
On 8/28/2026 9:37 PM, Matt Eaton wrote:
On Fri, Aug 28, 2026 at 3:53 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:If you have any upstream QC target that needs this, you can use the following patch as reference:
On 28/08/2026 15:18, Matt Eaton wrote:
On Fri, Aug 28, 2026 at 2:39 PM Krzysztof Kozlowski <krzk@xxxxxxxxxx> wrote:
On 28/08/2026 14:37, Matt Eaton via B4 Relay wrote:
From: Matt Eaton <linux@xxxxxxxxxxxxxx>
Document the xhci-no-soft-retry-quirk property, added in the
following patch.
snps,dwc3-common.yaml refs usb-xhci.yaml for every dr_mode other than
peripheral, so a host-mode dwc3 node inherits it and dt_binding_check
accepts it there.
I do not understand how this sentence is relevant. Please describe the
hardware needing this.
I came across this while porting the UniFi Travel Router (IPQ4018),
the stock Qualcomm kernel is 4.4.60 which predates the soft retry
code. The command ring hangs if you disconnect the device while it's
transmitting. Reproducible consistently when using USB to tether to a
phone.
Signed-off-by: Matt Eaton <linux@xxxxxxxxxxxxxx>
---
Documentation/devicetree/bindings/usb/usb-xhci.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/usb/usb-xhci.yaml b/Documentation/devicetree/bindings/usb/usb-xhci.yaml
index 4238ae896ef6..5d67a41658f7 100644
--- a/Documentation/devicetree/bindings/usb/usb-xhci.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-xhci.yaml
@@ -25,6 +25,10 @@ properties:
description: Set if the controller has broken port disable mechanism
type: boolean
+ xhci-no-soft-retry-quirk:
+ description: Set if the controller cannot perform xHCI Soft Retry correctly
Why isn't this implied by compatible? Looks like controller's property.
The xhci device is created by dwc3 core as a child device, and so
xhci_plat_probe() is used. I think a DT property is the right
approach, similar to quirk-broken-port-ped, but to set
XHCI_NO_SOFT_RETRY.
Linux driver behavior should not matter here. DT property for telling
Linux what to do is not the right approach. As I said, it's implied by
compatible unless you bring hardware reasons why it is not. Driver
reasons don't matter.
Will rework without DT property. Appreciate the feedback!
https://lore.kernel.org/all/20260723-dwc3-skip-init-quirk-v1-1-97682bb44ebd@xxxxxxxxxxxxxxxx/
Regards,
Krishna,