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? > That's where the interaction with the BIOS settings takes place > already. The BIOS really has nothing to do with the writing of this register. It's just that the BIOS will write those registers on boot according the BIOS xHCI settings, and may write them during system resume. The register writes by the OS won't trigger any BIOS code to run. > > This patch also introduces a module parameter that allows users to choose > > which ports they want to switch over, so that if a distro chooses to > > blacklist the xHCI driver, they can load the EHCI driver with the port > > switchover mask set to zero. A sysfs interface to switchover the ports on > > demand might be a good idea, but I'm not sure if we want to expose that to > > users, who may try to switchover active mass storage devices in the middle > > of transfers. > > I don't think on-demand switching would be very useful. > > The port switchover mask could be implemented as a kernel parameter > (and mentioned in Documentation/kernel-parameters.txt). Sure. Sarah Sharp -- 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