diff options
-rw-r--r-- | drivers/usb/host/sl811-hcd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index a7722a6a5a5b..5a28e6115892 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c | |||
@@ -1581,7 +1581,9 @@ sl811h_start(struct usb_hcd *hcd) | |||
1581 | hcd->state = HC_STATE_RUNNING; | 1581 | hcd->state = HC_STATE_RUNNING; |
1582 | 1582 | ||
1583 | if (sl811->board) { | 1583 | if (sl811->board) { |
1584 | hcd->can_wakeup = sl811->board->can_wakeup; | 1584 | if (!device_can_wakeup(hcd->self.controller)) |
1585 | device_init_wakeup(hcd->self.controller, | ||
1586 | sl811->board->can_wakeup); | ||
1585 | hcd->power_budget = sl811->board->power * 2; | 1587 | hcd->power_budget = sl811->board->power * 2; |
1586 | } | 1588 | } |
1587 | 1589 | ||
@@ -1805,7 +1807,7 @@ sl811h_resume(struct platform_device *dev) | |||
1805 | * let's assume it'd only be powered to enable remote wakeup. | 1807 | * let's assume it'd only be powered to enable remote wakeup. |
1806 | */ | 1808 | */ |
1807 | if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND | 1809 | if (dev->dev.power.power_state.event == PM_EVENT_SUSPEND |
1808 | || !hcd->can_wakeup) { | 1810 | || !device_can_wakeup(&hcd->self.root_hub->dev)) { |
1809 | sl811->port1 = 0; | 1811 | sl811->port1 = 0; |
1810 | port_power(sl811, 1); | 1812 | port_power(sl811, 1); |
1811 | return 0; | 1813 | return 0; |