summaryrefslogtreecommitdiffstats
path: root/xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch
diff options
context:
space:
mode:
Diffstat (limited to 'xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch')
-rw-r--r--xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch b/xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch
new file mode 100644
index 000000000..37543b923
--- /dev/null
+++ b/xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch
@@ -0,0 +1,42 @@
+From 160cf46209944d2fd7e20e39cf3fa77b961b5b20 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 25 Aug 2014 12:21:56 +0200
+Subject: [PATCH] xhci: Disable streams on Via XHCI with device-id 0x3432
+
+This is a bit bigger hammer then I would like to use for this, but for now
+it will have to make do. I'm working on getting my hands on one of these so
+that I can try to get streams to work (with a quirk flag if necessary) and
+then we can re-enable them.
+
+For now this at least makes uas capable disk enclosures work again by forcing
+fallback to the usb-storage driver.
+
+https://bugzilla.kernel.org/show_bug.cgi?id=79511
+Bugzilla: 1132666
+Upstream-status: Sent for 3.17 and Cc'd stable
+
+Cc: stable@vger.kernel.org # 3.15
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/usb/host/xhci-pci.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
+index 687d36608155..d973682f72ce 100644
+--- a/drivers/usb/host/xhci-pci.c
++++ b/drivers/usb/host/xhci-pci.c
+@@ -151,6 +151,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
+ if (pdev->vendor == PCI_VENDOR_ID_VIA)
+ xhci->quirks |= XHCI_RESET_ON_RESUME;
+
++ /* See https://bugzilla.kernel.org/show_bug.cgi?id=79511 */
++ if (pdev->vendor == PCI_VENDOR_ID_VIA &&
++ pdev->device == 0x3432)
++ xhci->quirks |= XHCI_BROKEN_STREAMS;
++
+ if (xhci->quirks & XHCI_RESET_ON_RESUME)
+ xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
+ "QUIRK: Resetting on resume");
+--
+1.9.3
+