aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci-at91.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ohci-at91.c')
-rw-r--r--drivers/usb/host/ohci-at91.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 5b5880c0ae19..b38a228134df 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -221,6 +221,12 @@ static int usb_hcd_at91_probe(const struct hc_driver *driver,
221 ohci->num_ports = board->ports; 221 ohci->num_ports = board->ports;
222 at91_start_hc(pdev); 222 at91_start_hc(pdev);
223 223
224 /*
225 * The RemoteWakeupConnected bit has to be set explicitly
226 * before calling ohci_run. The reset value of this bit is 0.
227 */
228 ohci->hc_control = OHCI_CTRL_RWC;
229
224 retval = usb_add_hcd(hcd, irq, IRQF_SHARED); 230 retval = usb_add_hcd(hcd, irq, IRQF_SHARED);
225 if (retval == 0) { 231 if (retval == 0) {
226 device_wakeup_enable(hcd->self.controller); 232 device_wakeup_enable(hcd->self.controller);
@@ -677,9 +683,6 @@ ohci_hcd_at91_drv_suspend(struct device *dev)
677 * REVISIT: some boards will be able to turn VBUS off... 683 * REVISIT: some boards will be able to turn VBUS off...
678 */ 684 */
679 if (!ohci_at91->wakeup) { 685 if (!ohci_at91->wakeup) {
680 ohci->hc_control = ohci_readl(ohci, &ohci->regs->control);
681 ohci->hc_control &= OHCI_CTRL_RWC;
682 ohci_writel(ohci, ohci->hc_control, &ohci->regs->control);
683 ohci->rh_state = OHCI_RH_HALTED; 686 ohci->rh_state = OHCI_RH_HALTED;
684 687
685 /* flush the writes */ 688 /* flush the writes */