diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/core/hub.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index c74baad19b16..00441cde4588 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
@@ -1053,6 +1053,12 @@ void usb_root_hub_lost_power(struct usb_device *rhdev) | |||
1053 | unsigned long flags; | 1053 | unsigned long flags; |
1054 | 1054 | ||
1055 | dev_warn(&rhdev->dev, "root hub lost power or was reset\n"); | 1055 | dev_warn(&rhdev->dev, "root hub lost power or was reset\n"); |
1056 | |||
1057 | /* Make sure no potential wakeup events get lost, | ||
1058 | * by forcing the root hub to be resumed. | ||
1059 | */ | ||
1060 | rhdev->dev.power.prev_state.event = PM_EVENT_ON; | ||
1061 | |||
1056 | spin_lock_irqsave(&device_state_lock, flags); | 1062 | spin_lock_irqsave(&device_state_lock, flags); |
1057 | hub = hdev_to_hub(rhdev); | 1063 | hub = hdev_to_hub(rhdev); |
1058 | for (port1 = 1; port1 <= rhdev->maxchild; ++port1) { | 1064 | for (port1 = 1; port1 <= rhdev->maxchild; ++port1) { |