Ok, I think I've addressed all of Alan's issues. This version of the patchset: - Reorders the PCI IDs correctly. - Moves the port switchover from the EHCI PCI probe to the xHCI PCI quirks. - Makes both the xHCI and EHCI driver switch the ports over when the pci_resume functions are called. - Adds a new kernel parameter for which ports should be switched over. - Documents said kernel parameter in Documentation/kernel-parameters.txt I've verified that the PCI quirks code does correctly run before the EHCI probe completes: [ 5.525756] calling pci_apply_final_quirks+0x0/0x106 @ 1 [ 5.531196] pci 0000:00:14.0: USB 3.0 ports that are now enabled under xHCI: 0xf [ 5.538572] pci 0000:00:14.0: USB 2.0 ports that are now switched over to xHCI: 0xf [ 5.546240] pci 0000:00:1a.0: EHCI: BIOS handoff [ 5.570969] pci 0000:00:1d.0: EHCI: BIOS handoff ... [ 16.643189] usbcore: registered new interface driver usbfs [ 16.643228] usbcore: registered new interface driver hub [ 16.643297] usbcore: registered new device driver usb [ 16.643312] initcall usb_init+0x0/0x16d [usbcore] returned 0 after 176 usecs [ 16.750862] calling ehci_hcd_init+0x0/0x1000 [ehci_hcd] @ 138 [ 16.772985] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver Sarah Sharp (4): Intel xhci: Add PCI id for Panther Point xHCI host. Intel xhci: Support EHCI/xHCI port switching. Intel xhci: Ignore spurious successful event. Intel xhci: Limit number of active endpoints to 64. Documentation/kernel-parameters.txt | 9 ++ drivers/usb/host/ehci-pci.c | 39 ++++++ drivers/usb/host/pci-quirks.c | 97 +++++++++++++++ drivers/usb/host/pci-quirks.h | 2 + drivers/usb/host/xhci-pci.c | 26 ++++ drivers/usb/host/xhci-ring.c | 21 +++- drivers/usb/host/xhci.c | 232 +++++++++++++++++++++++++++++++++-- drivers/usb/host/xhci.h | 16 +++ include/linux/pci_ids.h | 1 + 9 files changed, 432 insertions(+), 11 deletions(-) -- 1.7.4.1 -- 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