On Fri, Sep 14, 2012 at 01:05:49PM -0400, Michael Spang wrote:
> The Intel XHCI specification says that after clearing the run/stop bit
> the controller may take up to 16ms to halt. We've seen a device take
> 14ms, which with the current timeout of 10ms causes the kernel to
> abort the suspend. Increasing the timeout to the recommended value
> fixes the problem.

Thanks for tracking this down, Michael.  I'll queue this to Greg in a
couple days.

> 
> Signed-off-by: Michael Spang <sp...@chromium.org>
> ---
>  drivers/usb/host/xhci.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
> index c59d5b5..7710ccf 100644
> --- a/drivers/usb/host/xhci.c
> +++ b/drivers/usb/host/xhci.c
> @@ -785,7 +785,7 @@ int xhci_suspend(struct xhci_hcd *xhci)
>       command &= ~CMD_RUN;
>       xhci_writel(xhci, command, &xhci->op_regs->command);
>       if (handshake(xhci, &xhci->op_regs->status,
> -                   STS_HALT, STS_HALT, 100*100)) {
> +                   STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC)) {
>               xhci_warn(xhci, "WARN: xHC CMD_RUN timeout\n");
>               spin_unlock_irq(&xhci->lock);
>               return -ETIMEDOUT;
> -- 
> 1.7.7.3
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to