aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/ehci-pci.c')
-rw-r--r--drivers/usb/host/ehci-pci.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c
index 72ccd56e36dd..5bb7f6bb13f3 100644
--- a/drivers/usb/host/ehci-pci.c
+++ b/drivers/usb/host/ehci-pci.c
@@ -130,6 +130,7 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
130 case PCI_VENDOR_ID_TDI: 130 case PCI_VENDOR_ID_TDI:
131 if (pdev->device == PCI_DEVICE_ID_TDI_EHCI) { 131 if (pdev->device == PCI_DEVICE_ID_TDI_EHCI) {
132 ehci->is_tdi_rh_tt = 1; 132 ehci->is_tdi_rh_tt = 1;
133 hcd->has_tt = 1;
133 tdi_reset(ehci); 134 tdi_reset(ehci);
134 } 135 }
135 break; 136 break;
@@ -221,6 +222,7 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
221 ehci_warn(ehci, "selective suspend/wakeup unavailable\n"); 222 ehci_warn(ehci, "selective suspend/wakeup unavailable\n");
222#endif 223#endif
223 224
225 ehci_port_power(ehci, 1);
224 retval = ehci_pci_reinit(ehci, pdev); 226 retval = ehci_pci_reinit(ehci, pdev);
225done: 227done:
226 return retval; 228 return retval;
@@ -299,7 +301,7 @@ static int ehci_pci_resume(struct usb_hcd *hcd)
299 if (ehci_readl(ehci, &ehci->regs->configured_flag) == FLAG_CF) { 301 if (ehci_readl(ehci, &ehci->regs->configured_flag) == FLAG_CF) {
300 int mask = INTR_MASK; 302 int mask = INTR_MASK;
301 303
302 if (!device_may_wakeup(&hcd->self.root_hub->dev)) 304 if (!hcd->self.root_hub->do_remote_wakeup)
303 mask &= ~STS_PCD; 305 mask &= ~STS_PCD;
304 ehci_writel(ehci, mask, &ehci->regs->intr_enable); 306 ehci_writel(ehci, mask, &ehci->regs->intr_enable);
305 ehci_readl(ehci, &ehci->regs->intr_enable); 307 ehci_readl(ehci, &ehci->regs->intr_enable);
@@ -329,7 +331,6 @@ static int ehci_pci_resume(struct usb_hcd *hcd)
329 331
330 /* here we "know" root ports should always stay powered */ 332 /* here we "know" root ports should always stay powered */
331 ehci_port_power(ehci, 1); 333 ehci_port_power(ehci, 1);
332 ehci_handover_companion_ports(ehci);
333 334
334 hcd->state = HC_STATE_SUSPENDED; 335 hcd->state = HC_STATE_SUSPENDED;
335 return 0; 336 return 0;
@@ -353,8 +354,8 @@ static const struct hc_driver ehci_pci_hc_driver = {
353 .reset = ehci_pci_setup, 354 .reset = ehci_pci_setup,
354 .start = ehci_run, 355 .start = ehci_run,
355#ifdef CONFIG_PM 356#ifdef CONFIG_PM
356 .suspend = ehci_pci_suspend, 357 .pci_suspend = ehci_pci_suspend,
357 .resume = ehci_pci_resume, 358 .pci_resume = ehci_pci_resume,
358#endif 359#endif
359 .stop = ehci_stop, 360 .stop = ehci_stop,
360 .shutdown = ehci_shutdown, 361 .shutdown = ehci_shutdown,