|
@@ -73,6 +73,15 @@ static void for_each_companion(struct pci_dev *pdev, struct usb_hcd *hcd,
|
|
|
if (companion->bus != pdev->bus ||
|
|
|
PCI_SLOT(companion->devfn) != slot)
|
|
|
continue;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Companion device should be either UHCI,OHCI or EHCI host
|
|
|
+ * controller, otherwise skip.
|
|
|
+ */
|
|
|
+ if (companion->class != CL_UHCI && companion->class != CL_OHCI &&
|
|
|
+ companion->class != CL_EHCI)
|
|
|
+ continue;
|
|
|
+
|
|
|
companion_hcd = pci_get_drvdata(companion);
|
|
|
if (!companion_hcd || !companion_hcd->self.root_hub)
|
|
|
continue;
|