| From 2391eacbd00b706ff4902db7dbee21e33b6f1850 Mon Sep 17 00:00:00 2001 |
| From: Hans de Goede <hdegoede@redhat.com> |
| Date: Tue, 28 Oct 2014 11:05:29 +0100 |
| Subject: xhci: Disable streams on Asmedia 1042 xhci controllers |
| |
| From: Hans de Goede <hdegoede@redhat.com> |
| |
| commit 2391eacbd00b706ff4902db7dbee21e33b6f1850 upstream. |
| |
| Streams seem to be broken on the Asmedia 1042. An uas capable Seagate disk |
| which is known to work fine with other controllers causes the system to freeze |
| when connected over usb-3 with this controller, where as it works fine with |
| uas in usb-2 ports, indicating a problem with streams. |
| |
| This is a bit bigger hammer then I would like to use for this, but for now it |
| will have to make do. I've ordered a pci-e usb controller card with an Asmedia |
| 1042, once that arrives I'll 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. |
| |
| Reported-by: Bogdan Mihalcea <bogdan.mihalcea@infim.ro> |
| Cc: Bogdan Mihalcea <bogdan.mihalcea@infim.ro> |
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/host/xhci-pci.c | 4 ++++ |
| 1 file changed, 4 insertions(+) |
| |
| --- a/drivers/usb/host/xhci-pci.c |
| +++ b/drivers/usb/host/xhci-pci.c |
| @@ -146,6 +146,10 @@ static void xhci_pci_quirks(struct devic |
| pdev->device == 0x3432) |
| xhci->quirks |= XHCI_BROKEN_STREAMS; |
| |
| + if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && |
| + pdev->device == 0x1042) |
| + xhci->quirks |= XHCI_BROKEN_STREAMS; |
| + |
| if (xhci->quirks & XHCI_RESET_ON_RESUME) |
| xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, |
| "QUIRK: Resetting on resume"); |