On Thu, 26 May 2011, Sarah Sharp wrote: > On Thu, May 26, 2011 at 10:21:23AM -0400, Alan Stern wrote: > > On Wed, 25 May 2011, Sarah Sharp wrote: > > > Instead, the solution I came up was to make the EHCI driver switch over > > > the ports in its PCI probe function. It's not pretty, since the EHCI > > > driver has to search for the xHCI PCI device and then write into its > > > PCI configuration space, but I think it's the simplest solution. > > > > Logically, the right place to do this is in pci-quirks.c. Add whatever > > you need to quirk_usb_handoff_xhci(). > > How can you be sure the xHCI PCI quirks will be run before the EHCI > driver's PCI probe function gets called? Do the quirks get run before > any PCI devices get probed? I think so, but I'm not sure. PCI device initialization takes place in two stages: detection and probing. I think detection runs through all devices before probing starts, and I think the quirks get applied at various times but all before probing starts. Or maybe this holds only on a per-bus basis, but that should be okay since the EHCI and xHCI controllers you're talking about will be on the same bus, right? Hopefully Jesse can tell us for sure if this is correct. 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