All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB: xhci: Add broken streams quirk for Frescologic device id 1009
@ 2016-06-01 19:01 Hans de Goede
  2016-06-01 19:03 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Hans de Goede @ 2016-06-01 19:01 UTC (permalink / raw)
  To: Mathias Nyman, Greg Kroah-Hartman; +Cc: linux-usb, stable, Hans de Goede

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.

Cc: stable@vger.kernel.org
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 48672fa..c10972f 100644
--- 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 device *dev, struct xhci_hcd *xhci)
 		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;
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] USB: xhci: Add broken streams quirk for Frescologic device id 1009
  2016-06-01 19:01 [PATCH] USB: xhci: Add broken streams quirk for Frescologic device id 1009 Hans de Goede
@ 2016-06-01 19:03 ` Greg Kroah-Hartman
  2016-06-01 19:07   ` Hans de Goede
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2016-06-01 19:03 UTC (permalink / raw)
  To: Hans de Goede; +Cc: Mathias Nyman, linux-usb, stable

On Wed, Jun 01, 2016 at 09:01:29PM +0200, Hans de Goede wrote:
> 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.

Ouch, good debugging, that must have not been fun :(

I'll go queue this up for -rc2, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] USB: xhci: Add broken streams quirk for Frescologic device id 1009
  2016-06-01 19:03 ` Greg Kroah-Hartman
@ 2016-06-01 19:07   ` Hans de Goede
  0 siblings, 0 replies; 3+ messages in thread
From: Hans de Goede @ 2016-06-01 19:07 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Mathias Nyman, linux-usb, stable

Hi,

On 01-06-16 21:03, Greg Kroah-Hartman wrote:
> On Wed, Jun 01, 2016 at 09:01:29PM +0200, Hans de Goede wrote:
>> 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.
>
> Ouch, good debugging, that must have not been fun :(

Yeah, that sucked, luckily it was an somewhat older test-box, but I still
could not believe it managed to actually brick the mobo through
what seems to be bad bus accesses (vs just a plain short-circuit
or some such).

> I'll go queue this up for -rc2, thanks.

Great, thanks.

Regards,

Hans

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-06-01 19:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-01 19:01 [PATCH] USB: xhci: Add broken streams quirk for Frescologic device id 1009 Hans de Goede
2016-06-01 19:03 ` Greg Kroah-Hartman
2016-06-01 19:07   ` Hans de Goede

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.