diff options
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/host/isp116x-hcd.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c index 342cfadc999a..c95af116f9e7 100644 --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c | |||
@@ -1378,7 +1378,8 @@ static int isp116x_start(struct usb_hcd *hcd) | |||
1378 | 1378 | ||
1379 | val = 0; | 1379 | val = 0; |
1380 | if (board->remote_wakeup_enable) { | 1380 | if (board->remote_wakeup_enable) { |
1381 | hcd->can_wakeup = 1; | 1381 | if (!device_can_wakeup(hcd->self.controller)) |
1382 | device_init_wakeup(hcd->self.controller, 1); | ||
1382 | val |= RH_HS_DRWE; | 1383 | val |= RH_HS_DRWE; |
1383 | } | 1384 | } |
1384 | isp116x_write_reg32(isp116x, HCRHSTATUS, val); | 1385 | isp116x_write_reg32(isp116x, HCRHSTATUS, val); |
@@ -1428,7 +1429,7 @@ static int isp116x_bus_suspend(struct usb_hcd *hcd) | |||
1428 | hcd->state = HC_STATE_QUIESCING; | 1429 | hcd->state = HC_STATE_QUIESCING; |
1429 | val &= (~HCCONTROL_HCFS & ~HCCONTROL_RWE); | 1430 | val &= (~HCCONTROL_HCFS & ~HCCONTROL_RWE); |
1430 | val |= HCCONTROL_USB_SUSPEND; | 1431 | val |= HCCONTROL_USB_SUSPEND; |
1431 | if (hcd->remote_wakeup) | 1432 | if (device_may_wakeup(&hcd->self.root_hub->dev)) |
1432 | val |= HCCONTROL_RWE; | 1433 | val |= HCCONTROL_RWE; |
1433 | /* Wait for usb transfers to finish */ | 1434 | /* Wait for usb transfers to finish */ |
1434 | mdelay(2); | 1435 | mdelay(2); |