On Fri, 27 Jan 2012, Jayachandran C wrote: > The Netlogic XLP SoC's on-chip USB controller appears as a PCI > USB device, but does not need the EHCI/OHCI handoff done in > usb/host/pci-quirks.c. > > The pci-quirks.c is enabled for all vendors and devices, and is > enabled if USB and PCI are configured. > > If we do not skip the qurik handling on XLP, the readb() call in > ehci_bios_handoff() will cause a crash since byte access is not > supported for EHCI registers in XLP. > > Signed-off-by: Jayachandran C <jayachandranc@xxxxxxxxxxxxxxxxx> > --- > drivers/usb/host/pci-quirks.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c > index caf8742..ac53a66 100644 > --- a/drivers/usb/host/pci-quirks.c > +++ b/drivers/usb/host/pci-quirks.c > @@ -867,6 +867,12 @@ hc_init: > > static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev) > { > + /* Skip Netlogic mips SoC's internal PCI USB controller. > + * This device does not need/support EHCI/OHCI handoff > + */ > + if (pdev->vendor == 0x184e) /* vendor Netlogic */ > + return; > + > if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI) > quirk_usb_handoff_uhci(pdev); > else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI) Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html