diff options
Diffstat (limited to 'drivers/usb/host/ehci-pci.c')
-rw-r--r-- | drivers/usb/host/ehci-pci.c | 9 |
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); |
225 | done: | 227 | done: |
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, |