[PATCH] PM / USB: hcd_pci: Skip secondary root hub check for HCD_DEAD()
From: Rafael J. Wysocki
Date: Mon Jul 24 2017 - 19:12:11 EST
From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
If HCD_DEAD(hcd) is "true" in check_root_hub_suspended(), it is
rather pointless to check the secondary root hub, so return early
then.
This actually fixes occasional suspend failures on one of my test
machines.
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
---
drivers/usb/core/hcd-pci.c | 3 +++
1 file changed, 3 insertions(+)
Index: linux-pm/drivers/usb/core/hcd-pci.c
===================================================================
--- linux-pm.orig/drivers/usb/core/hcd-pci.c
+++ linux-pm/drivers/usb/core/hcd-pci.c
@@ -427,6 +427,9 @@ static int check_root_hub_suspended(stru
dev_warn(dev, "Root hub is not suspended\n");
return -EBUSY;
}
+ if (HCD_DEAD(hcd))
+ return 0;
+
if (hcd->shared_hcd) {
hcd = hcd->shared_hcd;
if (HCD_RH_RUNNING(hcd)) {