On Thu, 17 May 2012, Richard Zhao wrote: > commit 3d9545cc375d117554a9b35dfddadf9189c62775 > Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > Date: Mon Apr 23 13:54:36 2012 -0400 > > EHCI: maintain the ehci->command value properly > > The ehci-hcd driver is a little haphazard about keeping track of the > state of the USBCMD register. The ehci->command field is supposed to > hold the register's value (apart from a few special bits) at all > times, but it isn't maintained properly. > > This patch (as1543) cleans up the situation. It keeps ehci->command > up-to-date, and uses that value rather than reading the register from > the hardware whenever possible. > > Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > > The above commit causes failure of imx usb host hub detection. > > usb 1-1: new high-speed USB device number 2 using mxc-ehci > hub 1-1:1.0: USB hub found > hub 1-1:1.0: 7 ports detected > mxc-ehci mxc-ehci.1: fatal error > mxc-ehci mxc-ehci.1: HC died; cleaning up > mxc-ehci mxc-ehci.1: force halt; handshake f5780344 00004000 00004000 -> -110 > mxc-ehci mxc-ehci.1: HC died; cleaning up > usb 1-1: USB disconnect, device number 2 This doesn't have much useful information. Can you post the dmesg log showing what happens during startup with CONFIG_USB_DEBUG enabled and the patch below applied? Alan Stern Index: usb-3.4/drivers/usb/host/ehci-hcd.c =================================================================== --- usb-3.4.orig/drivers/usb/host/ehci-hcd.c +++ usb-3.4/drivers/usb/host/ehci-hcd.c @@ -353,6 +353,7 @@ static int ehci_reset (struct ehci_hcd * dbgp_external_startup(); ehci->command = ehci_readl(ehci, &ehci->regs->command); + dbg_cmd(ehci, "post-reset", ehci->command); ehci->port_c_suspend = ehci->suspended_ports = ehci->resuming_ports = 0; return retval; -- 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