diff options
author | Matthieu CASTET <matthieu.castet@parrot.com> | 2011-02-15 12:40:28 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-17 13:57:13 -0500 |
commit | bcf40815e0cda371cecc242398fe39b873bb1047 (patch) | |
tree | 19d63e63e3b62aafa41040f7e76d1e5db6e748bd | |
parent | e2904ee43c7009e6c4fc18738f15051312f22483 (diff) |
USB: don't run ehci_reset in ehci_run for tdi device
TDI driver does the ehci_reset in their reset callback.
Don't reset in ehci_run because configuration settings done in
platform driver will be reset.
This will allow to make msm use ehci_run.
Signed-off-by: Matthieu CASTET <castet.matthieu@parrot.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 7 | ||||
-rw-r--r-- | drivers/usb/host/ehci-orion.c | 5 |
2 files changed, 9 insertions, 3 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 | } |
diff --git a/drivers/usb/host/ehci-orion.c b/drivers/usb/host/ehci-orion.c index 0f87dc72820a..281e094e1c18 100644 --- a/drivers/usb/host/ehci-orion.c +++ b/drivers/usb/host/ehci-orion.c | |||
@@ -105,7 +105,8 @@ static int ehci_orion_setup(struct usb_hcd *hcd) | |||
105 | struct ehci_hcd *ehci = hcd_to_ehci(hcd); | 105 | struct ehci_hcd *ehci = hcd_to_ehci(hcd); |
106 | int retval; | 106 | int retval; |
107 | 107 | ||
108 | ehci_reset(ehci); | 108 | hcd->has_tt = 1; |
109 | |||
109 | retval = ehci_halt(ehci); | 110 | retval = ehci_halt(ehci); |
110 | if (retval) | 111 | if (retval) |
111 | return retval; | 112 | return retval; |
@@ -117,7 +118,7 @@ static int ehci_orion_setup(struct usb_hcd *hcd) | |||
117 | if (retval) | 118 | if (retval) |
118 | return retval; | 119 | return retval; |
119 | 120 | ||
120 | hcd->has_tt = 1; | 121 | ehci_reset(ehci); |
121 | 122 | ||
122 | ehci_port_power(ehci, 0); | 123 | ehci_port_power(ehci, 0); |
123 | 124 | ||