diff options
Diffstat (limited to 'drivers/usb/host/ohci-hcd.c')
-rw-r--r-- | drivers/usb/host/ohci-hcd.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index c3b4ccc7337b..8ef3c1944364 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
@@ -398,7 +398,14 @@ ohci_shutdown (struct usb_hcd *hcd) | |||
398 | 398 | ||
399 | ohci = hcd_to_ohci (hcd); | 399 | ohci = hcd_to_ohci (hcd); |
400 | ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); | 400 | ohci_writel (ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable); |
401 | ohci_usb_reset (ohci); | 401 | ohci->hc_control = ohci_readl(ohci, &ohci->regs->control); |
402 | |||
403 | /* If the SHUTDOWN quirk is set, don't put the controller in RESET */ | ||
404 | ohci->hc_control &= (ohci->flags & OHCI_QUIRK_SHUTDOWN ? | ||
405 | OHCI_CTRL_RWC | OHCI_CTRL_HCFS : | ||
406 | OHCI_CTRL_RWC); | ||
407 | ohci_writel(ohci, ohci->hc_control, &ohci->regs->control); | ||
408 | |||
402 | /* flush the writes */ | 409 | /* flush the writes */ |
403 | (void) ohci_readl (ohci, &ohci->regs->control); | 410 | (void) ohci_readl (ohci, &ohci->regs->control); |
404 | } | 411 | } |