USB: ehci-orion: Call ehci_reset before ehci_halt
authorSimon Kagstrom <simon.kagstrom@netinsight.net>
Mon, 13 Jul 2009 06:25:09 +0000 (08:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jul 2009 21:31:10 +0000 (14:31 -0700)
commitbcfa4e68d8d0ea617bde4203b2b3848f5a49a423
tree6bcf84f3a959a804c6ecb8a227f79ea225dfdca8
parent8bf16ba7c8ea9d067914e270764c14020a26232f
USB: ehci-orion: Call ehci_reset before ehci_halt

I noticed that USB initialization didn't setup correctly on my kirkwood
based board (OpenRD base) if I hadn't initialized USB in U-boot first.
The error message looks like this:

  ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
  orion-ehci orion-ehci.0: Marvell Orion EHCI
  orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
  orion-ehci orion-ehci.0: can't setup
  orion-ehci orion-ehci.0: USB bus 1 deregistered
  orion-ehci orion-ehci.0: init orion-ehci.0 fail, -110
  orion-ehci: probe of orion-ehci.0 failed with error -110

which is caused by ehci_halt() timing out in the handshake() call. I
noticed that U-boot does a reset before calling handshake(), so this
patch does the same thing for Linux. USB now works for me.

Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
Acked-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-orion.c