| From 7c67cf6658cec70d8a43229f2ce74ca1443dc95e Mon Sep 17 00:00:00 2001 |
| From: Kai-Heng Feng <kai.heng.feng@canonical.com> |
| Date: Wed, 11 Dec 2019 16:20:05 +0200 |
| Subject: xhci: Increase STS_HALT timeout in xhci_suspend() |
| |
| From: Kai-Heng Feng <kai.heng.feng@canonical.com> |
| |
| commit 7c67cf6658cec70d8a43229f2ce74ca1443dc95e upstream. |
| |
| I've recently observed failed xHCI suspend attempt on AMD Raven Ridge |
| system: |
| kernel: xhci_hcd 0000:04:00.4: WARN: xHC CMD_RUN timeout |
| kernel: PM: suspend_common(): xhci_pci_suspend+0x0/0xd0 returns -110 |
| kernel: PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -110 |
| kernel: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x150 returns -110 |
| kernel: PM: Device 0000:04:00.4 failed to suspend async: error -110 |
| |
| Similar to commit ac343366846a ("xhci: Increase STS_SAVE timeout in |
| xhci_suspend()") we also need to increase the HALT timeout to make it be |
| able to suspend again. |
| |
| Cc: <[email protected]> # 5.2+ |
| Fixes: f7fac17ca925 ("xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()") |
| Signed-off-by: Kai-Heng Feng <[email protected]> |
| Signed-off-by: Mathias Nyman <[email protected]> |
| Link: https://lore.kernel.org/r/[email protected] |
| Signed-off-by: Greg Kroah-Hartman <[email protected]> |
| |
| --- |
| drivers/usb/host/xhci.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/usb/host/xhci.c |
| +++ b/drivers/usb/host/xhci.c |
| @@ -898,7 +898,7 @@ static void xhci_disable_port_wake_on_bi |
| int xhci_suspend(struct xhci_hcd *xhci, bool do_wakeup) |
| { |
| int rc = 0; |
| - unsigned int delay = XHCI_MAX_HALT_USEC; |
| + unsigned int delay = XHCI_MAX_HALT_USEC * 2; |
| struct usb_hcd *hcd = xhci_to_hcd(xhci); |
| u32 command; |
| |