Messages in this thread | | | Date | Wed, 26 Dec 2012 22:56:35 -0500 (EST) | From | Alan Stern <> | Subject | Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages |
| |
On Wed, 26 Dec 2012, Larry Finger wrote:
> On 12/26/2012 10:45 AM, Alan Stern wrote: > > > > I see. Do you happen to have CONFIG_USB_EHCI_HCD=y and > > CONFIG_USB_EHCI_PCI=m in your .config? If you do, try changing > > EHCI_PCI to y. > > One additional data point: When the EHCI and HCD parameters are set to y rather > than m as in the list that follows, the enumerate messages do not occur. > > CONFIG_USB_ARCH_HAS_HCD=y > CONFIG_USB_ARCH_HAS_EHCI=y > CONFIG_USB_XHCI_HCD=y > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_OHCI_HCD=y > CONFIG_USB_EHCI_PCI=y > # CONFIG_USB_OHCI_HCD_PLATFORM is not set > # CONFIG_USB_EHCI_HCD_PLATFORM is not set > CONFIG_USB_UHCI_HCD=y
This looks like a matter of getting modules to load in the right order. Apparently your OHCI controller doesn't work right if the EHCI driver isn't present. Before the troublesome commit, this meant ehci-hcd had to be loaded before ohci-hcd. Now it means ehci-hcd and ehci-pci both have to be loaded before ohci-hcd.
In the dmesg log you provided, ehci-hcd was loaded before ohci-hcd but ehci-pci was loaded after. Of course, when everything is built into the kernel (not as modules) then questions of loading order don't arise.
You can test this hypothesis by booting a kernel without that commit and blacklisting ehci-hcd, so that it doesn't get loaded automatically. See if the errors start to come, and see if they stop when you load ehci-hcd manually.
Alan Stern
| |