]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xhci: Disable stream for xHC controller with XHCI_BROKEN_STREAMS
authorHongyu Xie <xiehongyu1@kylinos.cn>
Fri, 27 Jun 2025 14:41:20 +0000 (17:41 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 28 Jun 2025 15:20:01 +0000 (17:20 +0200)
Disable stream for platform xHC controller with broken stream.

Fixes: 14aec589327a6 ("storage: accept some UAS devices if streams are unavailable")
Cc: stable <stable@kernel.org>
Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250627144127.3889714-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-plat.c

index 6dab142e72789be74d9f54226687122367e3517b..c79d5ed48a08b75ae07a855c08a0ade7ee609037 100644 (file)
@@ -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) {