| From d95815ba6a0f287213118c136e64d8c56daeaeab Mon Sep 17 00:00:00 2001 |
| From: Hans de Goede <hdegoede@redhat.com> |
| Date: Wed, 1 Jun 2016 21:01:29 +0200 |
| Subject: USB: xhci: Add broken streams quirk for Frescologic device id 1009 |
| |
| From: Hans de Goede <hdegoede@redhat.com> |
| |
| commit d95815ba6a0f287213118c136e64d8c56daeaeab upstream. |
| |
| I got one of these cards for testing uas with, it seems that with streams |
| it dma-s all over the place, corrupting memory. On my first tests it |
| managed to dma over the BIOS of the motherboard somehow and completely |
| bricked it. |
| |
| Tests on another motherboard show that it does work with streams disabled. |
| |
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/host/xhci-pci.c | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| --- a/drivers/usb/host/xhci-pci.c |
| +++ b/drivers/usb/host/xhci-pci.c |
| @@ -37,6 +37,7 @@ |
| /* Device for a quirk */ |
| #define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73 |
| #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000 |
| +#define PCI_DEVICE_ID_FRESCO_LOGIC_FL1009 0x1009 |
| #define PCI_DEVICE_ID_FRESCO_LOGIC_FL1400 0x1400 |
| |
| #define PCI_VENDOR_ID_ETRON 0x1b6f |
| @@ -114,6 +115,10 @@ static void xhci_pci_quirks(struct devic |
| xhci->quirks |= XHCI_TRUST_TX_LENGTH; |
| } |
| |
| + if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC && |
| + pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_FL1009) |
| + xhci->quirks |= XHCI_BROKEN_STREAMS; |
| + |
| if (pdev->vendor == PCI_VENDOR_ID_NEC) |
| xhci->quirks |= XHCI_NEC_HOST; |
| |