Re: Missing USB XHCI and EHCI reset for kexec

From: stefani
Date: Mon Apr 14 2014 - 11:46:06 EST



Zitat von Benjamin Herrenschmidt <benh@xxxxxxxxxxx>:

On Sun, 2014-04-13 at 21:22 +0200, Stefani Seibold wrote:
When executing a kexec kernel on a PowerPC board the new started kernel
will not find already enumerated USB devices due a missing reset on the
USB bus.

As a work around a

echo 1 >/sys/bus/pci/drivers/[ex]hci-pci/BUS-ADDRESS-OF-THE-HCD/reset

will solve this. But this is far from beauty.

My latest kernel without this issue was for EHCI kernel 2.6.39 and for
XHCI kernel 3.4, but i have no idea when exactly this behavior was
introduced.

For X86 all is fine.

I don't know about EHCI specifically but this is a known issue with
XHCI, I observe similar issues on other powerpc platforms (servers)
and this isn't architecture specific (looks more like actualy xhc
implementation specific).

Thadeu Cascardo (on CC) has been the one investigating that on our side,
he might have more to add including patches.


I have now a kernel 3.14 dmesg log of the problem. After a kexec the kexeced 3.14 kernel shows:

[ 1.170029] xhci_hcd 0001:03:00.0: xHCI Host Controller
[ 1.175306] xhci_hcd 0001:03:00.0: new USB bus registered, assigned bus number 1
[ 1.212561] xhci_hcd 0001:03:00.0: Host not halted after 16000 microseconds.
[ 1.219621] xhci_hcd 0001:03:00.0: can't setup: -110
[ 1.224597] xhci_hcd 0001:03:00.0: USB bus 1 deregistered
[ 1.230021] xhci_hcd 0001:03:00.0: init 0001:03:00.0 fail, -110
[ 1.235955] xhci_hcd: probe of 0001:03:00.0 failed with error -110

Any idea?

- Stefani


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/