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)) { -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html