On Tue, 24 Jan 2012, Jayachandran C wrote: > Yes. I just replicated the HC_LENGTH logic here.It seemed to me > that the USB PCI quirk code did not try to handle the big-endian cases > at all. > > After reading the code again, it looks like another solution is to just > avoid the whole quirk_usb_early_handoff() function for our > MIPS cpu - which does not have PC style firmware, and handoff > is not necessary. Does any MIPS-based system have PC-style firmware? > quirk_usb_early_handoff() is declared as a fixup for PCI_ANY_ID, > PCI_ANY_ID, so a patch that just skips Netlogic devices in > quirk_usb_early_handoff looks like this: (will be white-space damaged, > I will send out a proper one if it is okay.) > > diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c > index caf8742..20e0e46 100644 > --- a/drivers/usb/host/pci-quirks.c > +++ b/drivers/usb/host/pci-quirks.c > @@ -867,6 +867,10 @@ hc_init: > > static void __devinit quirk_usb_early_handoff(struct pci_dev *pdev) > { > + /* Skip Netlogic mips SoC's internal PCI USB controller */ > + if (pdev->vendor == 0x184e) > + return; > + > if (pdev->class == PCI_CLASS_SERIAL_USB_UHCI) > quirk_usb_handoff_uhci(pdev); > else if (pdev->class == PCI_CLASS_SERIAL_USB_OHCI) Can we put the entire function, or indeed most of the file, inside "#ifdef CONFIG_X86"? Or perhaps a slightly more general test? Alan Stern -- 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