From e31425a818c6a787a16c0f8574424f728540bdbd Mon Sep 17 00:00:00 2001 From: Alan Stern Date: Tue, 19 Sep 2006 10:07:58 -0400 Subject: [PATCH] --- yaml --- r: 36474 b: refs/heads/master c: 353a4098c61272b33a02ec5802fb3859fec91a0e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/core/hub.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a940b17c638f..e52ba1eb2b21 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 71795c1df30b034414c921b4930ed88de34ca348 +refs/heads/master: 353a4098c61272b33a02ec5802fb3859fec91a0e diff --git a/trunk/drivers/usb/core/hub.c b/trunk/drivers/usb/core/hub.c index c74baad19b16..00441cde4588 100644 --- a/trunk/drivers/usb/core/hub.c +++ b/trunk/drivers/usb/core/hub.c @@ -1053,6 +1053,12 @@ void usb_root_hub_lost_power(struct usb_device *rhdev) unsigned long flags; dev_warn(&rhdev->dev, "root hub lost power or was reset\n"); + + /* Make sure no potential wakeup events get lost, + * by forcing the root hub to be resumed. + */ + rhdev->dev.power.prev_state.event = PM_EVENT_ON; + spin_lock_irqsave(&device_state_lock, flags); hub = hdev_to_hub(rhdev); for (port1 = 1; port1 <= rhdev->maxchild; ++port1) {