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

Reply via email to