mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
USB: EHCI: fix command register configuration lost problem
The 3d9545cc375d117554a9b35dfddadf9189c62775(EHCI: maintain the ehci->command value properly) introducs one command register configuration lost problem by the below line in ehci_reset: ehci->command = ehci_readl(ehci, &ehci->regs->command); After writting RESET into command register, it is restored to its default value per EHCI spec[1], so the previous configuration will be lost, and may introduce some problems reported recently: - imx51 Babbage board detect usb hub failed[2], reported by Richard Zhao. - mouse and keyboard hangs in linux-next found by Dan Carpenter and Greg-KH. So this patch just removes the line to fix these problems, and keep configurating command register consistent as before the commit 3d9545cc(EHCI: maintain the ehci->command value properly). [1], 4.1 Host Controller Initialization of EHCI Specification 1.0 [2], failed dmesg log: 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 Reported-by: Richard Zhao <[email protected]> Reported-by: Dan Carpenter <[email protected]> Reported-by: Greg Kroah-Hartman <[email protected]> Cc: Chen Peter-B29397 <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Ming Lei <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
4e09dcf20f
commit
1c01f1d9a6
1 changed files with 0 additions and 1 deletions
|
|
@ -352,7 +352,6 @@ static int ehci_reset (struct ehci_hcd *ehci)
|
|||
if (ehci->debug)
|
||||
dbgp_external_startup();
|
||||
|
||||
ehci->command = ehci_readl(ehci, &ehci->regs->command);
|
||||
ehci->port_c_suspend = ehci->suspended_ports =
|
||||
ehci->resuming_ports = 0;
|
||||
return retval;
|
||||
|
|
|
|||
Loading…
Reference in a new issue