diff options
Diffstat (limited to 'drivers/usb/host/ehci-hcd.c')
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 74dcf49bd015..4c77a818fd80 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -679,7 +679,12 @@ static int ehci_run (struct usb_hcd *hcd) | |||
679 | hcd->uses_new_polling = 1; | 679 | hcd->uses_new_polling = 1; |
680 | 680 | ||
681 | /* EHCI spec section 4.1 */ | 681 | /* EHCI spec section 4.1 */ |
682 | if ((retval = ehci_reset(ehci)) != 0) { | 682 | /* |
683 | * TDI driver does the ehci_reset in their reset callback. | ||
684 | * Don't reset here, because configuration settings will | ||
685 | * vanish. | ||
686 | */ | ||
687 | if (!ehci_is_TDI(ehci) && (retval = ehci_reset(ehci)) != 0) { | ||
683 | ehci_mem_cleanup(ehci); | 688 | ehci_mem_cleanup(ehci); |
684 | return retval; | 689 | return retval; |
685 | } | 690 | } |