diff options
Diffstat (limited to 'drivers/usb/host/ehci-pci.c')
-rw-r--r-- | drivers/usb/host/ehci-pci.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 966965f72338..a7816e392a85 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c | |||
@@ -312,13 +312,14 @@ static int ehci_pci_resume(struct usb_hcd *hcd) | |||
312 | ehci_work(ehci); | 312 | ehci_work(ehci); |
313 | spin_unlock_irq(&ehci->lock); | 313 | spin_unlock_irq(&ehci->lock); |
314 | 314 | ||
315 | /* here we "know" root ports should always stay powered */ | ||
316 | ehci_port_power(ehci, 1); | ||
317 | |||
318 | ehci_writel(ehci, ehci->command, &ehci->regs->command); | 315 | ehci_writel(ehci, ehci->command, &ehci->regs->command); |
319 | ehci_writel(ehci, FLAG_CF, &ehci->regs->configured_flag); | 316 | ehci_writel(ehci, FLAG_CF, &ehci->regs->configured_flag); |
320 | ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ | 317 | ehci_readl(ehci, &ehci->regs->command); /* unblock posted writes */ |
321 | 318 | ||
319 | /* here we "know" root ports should always stay powered */ | ||
320 | ehci_port_power(ehci, 1); | ||
321 | ehci_handover_companion_ports(ehci); | ||
322 | |||
322 | hcd->state = HC_STATE_SUSPENDED; | 323 | hcd->state = HC_STATE_SUSPENDED; |
323 | return 0; | 324 | return 0; |
324 | } | 325 | } |