aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthieu CASTET <matthieu.castet@parrot.com>2011-02-15 12:40:28 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-17 13:57:13 -0500
commitbcf40815e0cda371cecc242398fe39b873bb1047 (patch)
tree19d63e63e3b62aafa41040f7e76d1e5db6e748bd
parente2904ee43c7009e6c4fc18738f15051312f22483 (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.c7
-rw-r--r--drivers/usb/host/ehci-orion.c5
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