On 15.07.2015 14:54, Jean-Francois SIMON wrote:
> Hi,
>
> We have designed a h/w system with the Renesas USB 3.0 upd7202 controller.
> We are seeing that sometimes xhci initialization fails with a "can't
> setup" error message.
> As a result lsusb doesn't report the USB3.0 ports.
>
> Adding traces to the kernel we could see that this is happening in
> xhci_reset() --> xhci_handshake() sequence, where xhci_handshake exits
> in time out. (I tried to increase the time out value by 10 times..it
> didn't help)
Does changing the delay time in the busyloop make a difference?
Just thinking that as you have some complicated pci setup and try to
read a pci register in a busyloop every microsecond it could cause issues.
something like:
@@ -71,8 +71,8 @@ int xhci_handshake(void __iomem *ptr, u32 mask, u32 done, int
usec)
result &= mask;
if (result == done)
return 0;
- udelay(1);
- usec--;
+ udelay(10);
+ usec -= 10;
I also see that there are some bus auto-suspend messages, do you have the patch
that
prevents suspend while xhci is in between loading usb2 and usb3 buses:
commit bcffae7708eb8352f44dc510b326541fe43a02a4
xhci: Prevent runtime pm from autosuspending during initialization
-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html