]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/usb/host/ehci-pci.c
USB: EHCI: work around bug in the Philips ISP1562 controller
[karo-tx-linux.git] / drivers / usb / host / ehci-pci.c
index fe8dc069164ead9f271b3e487d2704e0e74aeaed..4baafa3e80b270854bf43bf7f0563025c79bdb12 100644 (file)
@@ -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 */
@@ -368,7 +375,9 @@ static bool usb_is_intel_switchable_ehci(struct pci_dev *pdev)
 {
        return pdev->class == PCI_CLASS_SERIAL_USB_EHCI &&
                pdev->vendor == PCI_VENDOR_ID_INTEL &&
-               pdev->device == 0x1E26;
+               (pdev->device == 0x1E26 ||
+                pdev->device == 0x8C2D ||
+                pdev->device == 0x8C26);
 }
 
 static void ehci_enable_xhci_companion(void)