linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
@ 2012-12-25  3:16 Larry Finger
  2012-12-25 16:26 ` Alan Stern
  0 siblings, 1 reply; 10+ messages in thread
From: Larry Finger @ 2012-12-25  3:16 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

The problem has been bisected to commit adfa79d entitled "USB: EHCI: make 
ehci-pci a separate driver". The symptom is that my NVIDIA controller again 
reverts to unended logging of messages of the form "hub 2-0:1.0: unable to 
enumerate USB device on port 5".

This behavior was previously fixed with commit c618759.

Thanks,

Larry

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-25  3:16 Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages Larry Finger
@ 2012-12-25 16:26 ` Alan Stern
  2012-12-25 18:06   ` Larry Finger
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Stern @ 2012-12-25 16:26 UTC (permalink / raw)
  To: Larry Finger; +Cc: LKML, linux-usb

On Mon, 24 Dec 2012, Larry Finger wrote:

> The problem has been bisected to commit adfa79d entitled "USB: EHCI: make 
> ehci-pci a separate driver". The symptom is that my NVIDIA controller again 
> reverts to unended logging of messages of the form "hub 2-0:1.0: unable to 
> enumerate USB device on port 5".

A few more details would be helpful, such as the dmesg log (with
CONFIG_USB_DEBUG enabled).  As it is, I don't see how that commit could
cause this problem.  It should not have resulted in any changes in
behavior -- all it did was split up a driver that was one module into
two modules.

> This behavior was previously fixed with commit c618759.

That commit affected the ohci-hcd driver, whereas this one affects 
ehci-hcd.  They can't possibly be related.

Alan Stern


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-25 16:26 ` Alan Stern
@ 2012-12-25 18:06   ` Larry Finger
  2012-12-26 16:45     ` Alan Stern
  0 siblings, 1 reply; 10+ messages in thread
From: Larry Finger @ 2012-12-25 18:06 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

On 12/25/2012 10:26 AM, Alan Stern wrote:
> On Mon, 24 Dec 2012, Larry Finger wrote:
>
>> The problem has been bisected to commit adfa79d entitled "USB: EHCI: make
>> ehci-pci a separate driver". The symptom is that my NVIDIA controller again
>> reverts to unended logging of messages of the form "hub 2-0:1.0: unable to
>> enumerate USB device on port 5".
>
> A few more details would be helpful, such as the dmesg log (with
> CONFIG_USB_DEBUG enabled).  As it is, I don't see how that commit could
> cause this problem.  It should not have resulted in any changes in
> behavior -- all it did was split up a driver that was one module into
> two modules.
>
>> This behavior was previously fixed with commit c618759.
>
> That commit affected the ohci-hcd driver, whereas this one affects
> ehci-hcd.  They can't possibly be related.

Alan,

You are the expert, but I am confident of my bisection. A kernel built from 
commit 3e02320 does not have the problem, but commit adfa79d does.

The dmesg output with CONFIG_USB_DEBUG enabled is posted at
http://susepaste.org/790689.

Thanks for looking at this.

Larry



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-25 18:06   ` Larry Finger
@ 2012-12-26 16:45     ` Alan Stern
  2012-12-26 17:44       ` Larry Finger
  2012-12-26 19:12       ` Larry Finger
  0 siblings, 2 replies; 10+ messages in thread
From: Alan Stern @ 2012-12-26 16:45 UTC (permalink / raw)
  To: Larry Finger; +Cc: LKML, linux-usb

On Tue, 25 Dec 2012, Larry Finger wrote:

> On 12/25/2012 10:26 AM, Alan Stern wrote:
> > On Mon, 24 Dec 2012, Larry Finger wrote:
> >
> >> The problem has been bisected to commit adfa79d entitled "USB: EHCI: make
> >> ehci-pci a separate driver". The symptom is that my NVIDIA controller again
> >> reverts to unended logging of messages of the form "hub 2-0:1.0: unable to
> >> enumerate USB device on port 5".
> >
> > A few more details would be helpful, such as the dmesg log (with
> > CONFIG_USB_DEBUG enabled).  As it is, I don't see how that commit could
> > cause this problem.  It should not have resulted in any changes in
> > behavior -- all it did was split up a driver that was one module into
> > two modules.
> >
> >> This behavior was previously fixed with commit c618759.
> >
> > That commit affected the ohci-hcd driver, whereas this one affects
> > ehci-hcd.  They can't possibly be related.
> 
> Alan,
> 
> You are the expert, but I am confident of my bisection. A kernel built from 
> commit 3e02320 does not have the problem, but commit adfa79d does.
> 
> The dmesg output with CONFIG_USB_DEBUG enabled is posted at
> http://susepaste.org/790689.

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.

Alan Stern


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-26 16:45     ` Alan Stern
@ 2012-12-26 17:44       ` Larry Finger
  2012-12-26 19:12       ` Larry Finger
  1 sibling, 0 replies; 10+ messages in thread
From: Larry Finger @ 2012-12-26 17:44 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

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.

No, they are both "m". My configuration parameters with EHCI in them are

CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB_EHCI_HCD=m
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=m
# CONFIG_USB_EHCI_HCD_PLATFORM is not set

The full configuration is posted at http://susepaste.org/5784418.

Larry


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-26 16:45     ` Alan Stern
  2012-12-26 17:44       ` Larry Finger
@ 2012-12-26 19:12       ` Larry Finger
  2012-12-27  3:56         ` Alan Stern
  1 sibling, 1 reply; 10+ messages in thread
From: Larry Finger @ 2012-12-26 19:12 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

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

Larry


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-26 19:12       ` Larry Finger
@ 2012-12-27  3:56         ` Alan Stern
  2012-12-27 15:46           ` Larry Finger
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Stern @ 2012-12-27  3:56 UTC (permalink / raw)
  To: Larry Finger; +Cc: LKML, linux-usb

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-27  3:56         ` Alan Stern
@ 2012-12-27 15:46           ` Larry Finger
  2012-12-27 23:18             ` Alan Stern
  0 siblings, 1 reply; 10+ messages in thread
From: Larry Finger @ 2012-12-27 15:46 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

On 12/26/2012 09:56 PM, Alan Stern wrote:
> 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.

I could not do exactly the experiment that you wanted, as ehci-hcd was loaded 
even though it was blacklisted. Rather than solve that problem, I generated a 
kernel from just before commit adfa79d with ohci-hcd built in and ehci-hcd as a 
module. This one generated the errors, but they stopped when ehci-hcd loaded. I 
also tested a 3.8-rc1 kernel with ehci-hcd and ehcd-pci built in and ohci-hcd as 
a module. No errors for that one. Your hypothesis looks correct.

I hope there is some way to force ehci-pci to load as soon as ehci-hcd is 
loaded, and before ohci-hcd loads, but if there is not, I know how to prevent 
the errors on my system even though this solution won't help the users of distro 
kernels. At least this time the errors stop once all 3 modules are loaded, and 
the number of error outputs is limited.

Thanks,

Larry


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-27 15:46           ` Larry Finger
@ 2012-12-27 23:18             ` Alan Stern
  2012-12-27 23:40               ` Larry Finger
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Stern @ 2012-12-27 23:18 UTC (permalink / raw)
  To: Larry Finger; +Cc: LKML, linux-usb

On Thu, 27 Dec 2012, Larry Finger wrote:

> I could not do exactly the experiment that you wanted, as ehci-hcd was loaded 
> even though it was blacklisted. Rather than solve that problem, I generated a 
> kernel from just before commit adfa79d with ohci-hcd built in and ehci-hcd as a 
> module. This one generated the errors, but they stopped when ehci-hcd loaded. I 
> also tested a 3.8-rc1 kernel with ehci-hcd and ehcd-pci built in and ohci-hcd as 
> a module. No errors for that one. Your hypothesis looks correct.
> 
> I hope there is some way to force ehci-pci to load as soon as ehci-hcd is 
> loaded, and before ohci-hcd loads, but if there is not, I know how to prevent 
> the errors on my system even though this solution won't help the users of distro 
> kernels. At least this time the errors stop once all 3 modules are loaded, and 
> the number of error outputs is limited.

This is now a userspace issue.  Perhaps a change to a udev rule will
prevent ohci-hcd from loading until ehci-pci is in place.  Or a change
to a startup script in your initramfs.  However the problem gets
solved, there doesn't seem to be much the kernel can do about it.

Alan Stern


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages
  2012-12-27 23:18             ` Alan Stern
@ 2012-12-27 23:40               ` Larry Finger
  0 siblings, 0 replies; 10+ messages in thread
From: Larry Finger @ 2012-12-27 23:40 UTC (permalink / raw)
  To: Alan Stern; +Cc: LKML, linux-usb

On 12/27/2012 05:18 PM, Alan Stern wrote:
> On Thu, 27 Dec 2012, Larry Finger wrote:
>
>> I could not do exactly the experiment that you wanted, as ehci-hcd was loaded
>> even though it was blacklisted. Rather than solve that problem, I generated a
>> kernel from just before commit adfa79d with ohci-hcd built in and ehci-hcd as a
>> module. This one generated the errors, but they stopped when ehci-hcd loaded. I
>> also tested a 3.8-rc1 kernel with ehci-hcd and ehcd-pci built in and ohci-hcd as
>> a module. No errors for that one. Your hypothesis looks correct.
>>
>> I hope there is some way to force ehci-pci to load as soon as ehci-hcd is
>> loaded, and before ohci-hcd loads, but if there is not, I know how to prevent
>> the errors on my system even though this solution won't help the users of distro
>> kernels. At least this time the errors stop once all 3 modules are loaded, and
>> the number of error outputs is limited.
>
> This is now a userspace issue.  Perhaps a change to a udev rule will
> prevent ohci-hcd from loading until ehci-pci is in place.  Or a change
> to a startup script in your initramfs.  However the problem gets
> solved, there doesn't seem to be much the kernel can do about it.

Thanks for looking at this. At the moment, there are no udev rules on my system 
that mention "ehci" or "ohci". Perhaps a suitable one can be prepared. In 
addition, I still need to look at the startup scripts to see if there is a 
possible fix there.

Larry



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-12-27 23:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-25  3:16 Regression in kernel 3.8-rc1 bisected to commit adfa79d: I now get many "unable to enumerate USB device" messages Larry Finger
2012-12-25 16:26 ` Alan Stern
2012-12-25 18:06   ` Larry Finger
2012-12-26 16:45     ` Alan Stern
2012-12-26 17:44       ` Larry Finger
2012-12-26 19:12       ` Larry Finger
2012-12-27  3:56         ` Alan Stern
2012-12-27 15:46           ` Larry Finger
2012-12-27 23:18             ` Alan Stern
2012-12-27 23:40               ` Larry Finger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).