From 1996e6c572969a8cf6d7fa97eef621219acd94a9 Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Mon, 14 May 2012 13:48:16 -0400 Subject: USB: EHCI: work around bug in the Philips ISP1562 controller This patch (as1556) works around a bug in the Philips ISP1562 EHCI controller. Although the controller claims to support frame-list lengths smaller than the default of 1024 for its periodic schedule, in fact smaller values don't work. A new quirk flag is added to indicate when the bug is present, and if it is then the schedule size is left at the default value. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman --- drivers/usb/host/ehci-pci.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/usb/host/ehci-pci.c') diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index bc94d7bf072..4baafa3e80b 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c @@ -97,6 +97,13 @@ static int ehci_pci_setup(struct usb_hcd *hcd) break; } break; + + case PCI_VENDOR_ID_PHILIPS: + /* + * Philips controllers set HCC_PGM_FRAMELISTLEN, but + * they don't implement schedule sizes shorter than 1024. + */ + ehci->sched_size_bug = 1; } /* cache this readonly data; minimize chip reads */ -- cgit v1.2.3-70-g09d2