[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5273465.xcnvLcBNTW@aspire.rjw.lan>
Date: Tue, 25 Jul 2017 01:04:01 +0200
From: "Rafael J. Wysocki" <rjw@...ysocki.net>
To: Linux USB <linux-usb@...r.kernel.org>
Cc: Linux PM <linux-pm@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
Alan Stern <stern@...land.harvard.edu>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Mathias Nyman <mathias.nyman@...ux.intel.com>,
Felipe Balbi <balbi@...nel.org>
Subject: [PATCH] PM / USB: hcd_pci: Skip secondary root hub check for HCD_DEAD()
From: Rafael J. Wysocki <rafael.j.wysocki@...el.com>
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@...el.com>
---
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)) {
Powered by blists - more mailing lists