Messages in this thread Patch in this message | | | Date | Fri, 10 Feb 2012 14:47:56 -0800 | From | Greg KH <> | Subject | [17/21] usb: Skip PCI USB quirk handling for Netlogic XLP |
| |
2.6.32-longterm review patch. If anyone has any objections, please let me know.
------------------
From: Jayachandran C <jayachandranc@netlogicmicro.com>
commit e4436a7c17ac2b5e138f93f83a541cba9b311685 upstream.
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@netlogicmicro.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/usb/host/pci-quirks.c | 6 ++++++ 1 file changed, 6 insertions(+)
--- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c @@ -498,6 +498,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)
| |