]> git.ipfire.org Git - thirdparty/kernel/stable.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>
Thu, 10 Jul 2025 14:03:18 +0000 (16:03 +0200)
commit cd65ee81240e8bc3c3119b46db7f60c80864b90b upstream.

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 8832e0cedadaffcb3516d8467954b4db7b7f49d4..749ba3596c2b3ff1b9c54d1e8192d36265715d3d 100644 (file)
@@ -313,7 +313,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) {