[PATCH v3] xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS

From: xiehongyu1
Date: Wed Jun 18 2025 - 21:02:11 EST


From: Hongyu Xie <xiehongyu1@xxxxxxxxxx>

Disable stream for platform xHC controller with broken stream.

Fixes: 14aec589327a6 ("storage: accept some UAS devices if streams are unavailable")
Cc: stable@xxxxxxxxxxxxxxx # 5.4
Signed-off-by: Hongyu Xie <xiehongyu1@xxxxxxxxxx>
---
v3: add changelog information

v2: add Fixes information and cc 5.4 lts

drivers/usb/host/xhci-plat.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 6dab142e72789..c79d5ed48a08b 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -328,7 +328,8 @@ int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev, const s
}

usb3_hcd = xhci_get_usb3_hcd(xhci);
- if (usb3_hcd && HCC_MAX_PSA(xhci->hcc_params) >= 4)
+ if (usb3_hcd && HCC_MAX_PSA(xhci->hcc_params) >= 4 &&
+ !(xhci->quirks & XHCI_BROKEN_STREAMS))
usb3_hcd->can_do_streams = 1;

if (xhci->shared_hcd) {
--
2.25.1