From a3696887c0907eefa1a50bde894b6e034eb8b08f Mon Sep 17 00:00:00 2001 From: Josh Boyer Date: Wed, 27 Aug 2014 08:15:27 -0400 Subject: [PATCH] Disable streams on via XHCI (rhbz 1132666) --- kernel.spec | 9 ++++ ...eams-on-Via-XHCI-with-device-id-0x34.patch | 42 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch diff --git a/kernel.spec b/kernel.spec index 11f431ef1..9da8335ef 100644 --- a/kernel.spec +++ b/kernel.spec @@ -649,6 +649,9 @@ Patch25121: 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch #rhbz 1131551 Patch25122: nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch +#rhbz 1132666 +Patch26016: xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1382,6 +1385,9 @@ ApplyPatch 0001-uas-Limit-qdepth-to-32-when-connected-over-usb-2.patch #rhbz 1131551 ApplyPatch nfs3_list_one_acl-check-get_acl-result-with-IS_ERR_O.patch +#rhbz 1132666 +ApplyPatch xhci-Disable-streams-on-Via-XHCI-with-device-id-0x34.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2264,6 +2270,9 @@ fi # ||----w | # || || %changelog +* Wed Aug 27 2014 Josh Boyer +- Disable streams on via XHCI (rhbz 1132666) + * Tue Aug 26 2014 Peter Robinson - Minor generic ARMv7 updates - Build tegra on both LPAE and general ARMv7 kernels (thank srwarren RHBZ 1110963) 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 +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 +--- + 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 +