From bf7700787a07773f5d9b129cd2cd111f7ffca264 Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Wed, 28 Mar 2012 15:56:17 -0400 Subject: [PATCH] --- yaml --- r: 299139 b: refs/heads/master c: cd4376e23a59a2adf3084cb5f4a523e6d5fd4e49 h: refs/heads/master i: 299137: 67f5ae2208ff63cdf3c16fdfef38c2e56c64dc26 299135: 140c524356e829259f432e6ef9a8f7beae0aac50 v: v3 --- [refs] | 2 +- trunk/drivers/usb/core/driver.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6a7b0af01b83..02f91f8327ae 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 891a3b1fddb24b4b53426685bd0390bb74c9b5b3 +refs/heads/master: cd4376e23a59a2adf3084cb5f4a523e6d5fd4e49 diff --git a/trunk/drivers/usb/core/driver.c b/trunk/drivers/usb/core/driver.c index f8e2d6d52e5c..9a56635dc19c 100644 --- a/trunk/drivers/usb/core/driver.c +++ b/trunk/drivers/usb/core/driver.c @@ -1189,8 +1189,13 @@ static int usb_suspend_both(struct usb_device *udev, pm_message_t msg) if (status == 0) { status = usb_suspend_device(udev, msg); - /* Again, ignore errors during system sleep transitions */ - if (!PMSG_IS_AUTO(msg)) + /* + * Ignore errors from non-root-hub devices during + * system sleep transitions. For the most part, + * these devices should go to low power anyway when + * the entire bus is suspended. + */ + if (udev->parent && !PMSG_IS_AUTO(msg)) status = 0; }