Ok, now I've looked into it, ehci_hcd, uhci_hcd and ohci_hcd have ZERO
overlap in terms of device support.  There is no way that any device
would result in more than one of these modules being loaded in any given
modprobe invocation, so modules.order would not apply (as I said above):

        This obviously doesn't count if hardware not supported by ehci-hcd is 
found first,
        but then that would also be true of building the module into the kernel.

Since you have USB-1 hardware and USB-2 hardware, and the USB-1 hardware
is being detected first, you are fundamentally suffering from the
problem I described above:

 * a laptop with only USB 1.0 Host Control Devices is booted

 * we'll only load ohci_hcd/uhci_hcd because those are all we need

 * hours/days/weeks later, the laptop owner plugs in a pccard that
provides a USB 2.0 interface

 * we now load the ehci_hcd driver, and get that kernel warning

So there is no way to fix this from userspace.

Given that there's no overlap between module aliases, it baffles me as
to why the kernel needs an ordering requirement at all?  ehci_hcd should
only take over those cards with an interface of 0x20, uhci_hcd with an
interface of 0x00 and ohci_hcd with an interface of 0x10.

I'm marking the userspace parts of this as Won't Fix and will ask a
Kernel Developer to weigh in on the kernel side.

** Changed in: module-init-tools (Ubuntu)
       Status: Confirmed => Won't Fix

** Changed in: initramfs-tools (Ubuntu)
       Status: Confirmed => Won't Fix

-- 
warning: ehci_hcd loaded AFTER uhci_hcd and ohci_hcd
https://bugs.launchpad.net/bugs/296710
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to