| From 195c24ab81243af67b47c005f057f768952ab37a Mon Sep 17 00:00:00 2001 |
| From: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Date: Fri, 11 Nov 2016 15:13:11 +0200 |
| Subject: [PATCH 275/299] xhci: cleanup error message if halting the host |
| failed. |
| |
| The old error message always stated that host was not halted |
| even after trying a certain time. |
| |
| Host may fail the halt immediately as well with -ENODEV if device |
| is removed and returns 0xffffffff. |
| |
| Use a more generic error message and show return value to know if we |
| failed with -ETIMEDOUT or -ENODEV |
| |
| Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit 99154fd3aa9ce49f0fb842f2b07f174ae7345b64) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/usb/host/xhci.c | 12 ++++++------ |
| 1 file changed, 6 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/usb/host/xhci.c |
| +++ b/drivers/usb/host/xhci.c |
| @@ -113,12 +113,12 @@ int xhci_halt(struct xhci_hcd *xhci) |
| |
| ret = xhci_handshake(&xhci->op_regs->status, |
| STS_HALT, STS_HALT, XHCI_MAX_HALT_USEC); |
| - if (!ret) { |
| - xhci->xhc_state |= XHCI_STATE_HALTED; |
| - xhci->cmd_ring_state = CMD_RING_STATE_STOPPED; |
| - } else |
| - xhci_warn(xhci, "Host not halted after %u microseconds.\n", |
| - XHCI_MAX_HALT_USEC); |
| + if (ret) { |
| + xhci_warn(xhci, "Host halt failed, %d\n", ret); |
| + return ret; |
| + } |
| + xhci->xhc_state |= XHCI_STATE_HALTED; |
| + xhci->cmd_ring_state = CMD_RING_STATE_STOPPED; |
| return ret; |
| } |
| |