Re: PROBLEM: USB device registered on OHCI instead of EHCI at boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alan,

On Mon, Mar 25, 2013 at 10:28:04PM +0800, Alan Stern wrote:
> On Mon, 25 Mar 2013, Huang Rui wrote:
> 
> > Hi Alan,
> > 
> > Thank you to take a look at this issue. Sorry to disturb you again.
> > The PORT ENABLE(PORT_PE) bit in PORTSC register is not set when the
> > port reset, in other words, host controller and device might not do
> > alternating sequence of Chirp Ks and Chirp Js or not be detected. Am I
> > right?
> 
> Yes.

Thanks to your confirm.

> 
> >  I found why the boot issue is not alway reproduced. Because
> > sometimes ehci_hcd is not loaded before ohci_hcd.
> > 
> > [   25.068090] Warning! ehci_hcd should always be loaded before uhci_hcd and ohci_hcd, not after
> > 
> > If ehci_hcd is loaded firstly, the USB Reader(in my side) is always
> > detected as high speed device. Then I do below change and boot issue
> > isn't encountered again. 
> > 
> > diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
> > index 180a2b0..30fc91c 100644
> > --- a/drivers/usb/host/ohci-hcd.c
> > +++ b/drivers/usb/host/ohci-hcd.c
> > @@ -1325,7 +1325,7 @@ static int __init ohci_hcd_mod_init(void)
> >         clear_bit(USB_OHCI_LOADED, &usb_hcds_loaded);
> >         return retval;
> >  }
> > -module_init(ohci_hcd_mod_init);
> > +late_initcall(ohci_hcd_mod_init);
> > 
> >  static void __exit ohci_hcd_mod_exit(void)
> >  {
> > 
> > But I think it's not a good solution. Have you any idea to have an
> > appropriate way to make ehci_hcd loaded firstly?
> 
> In general there is no way to do it.  Especially with modern kernels, 
> because what matters is ehci-pci, not ehci-hcd.  And also because the 
> order of probing is not always the same.
> 
> I suppose you could build a kernel with CONFIG_USB_EHCI_HCD=y and 
> CONFIG_USB_EHCI_PCI=y but CONFIG_USB_OHCI_HCD=m.  That might help.

Yes, you're right. Thanks again to your suggestion.

Best Regards,
Rui

--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux