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>hifive-unleashed-5.1
parent
e2904ee43c
commit
bcf40815e0
|
@ -679,7 +679,12 @@ static int ehci_run (struct usb_hcd *hcd)
|
||||||
hcd->uses_new_polling = 1;
|
hcd->uses_new_polling = 1;
|
||||||
|
|
||||||
/* EHCI spec section 4.1 */
|
/* EHCI spec section 4.1 */
|
||||||
if ((retval = ehci_reset(ehci)) != 0) {
|
/*
|
||||||
|
* TDI driver does the ehci_reset in their reset callback.
|
||||||
|
* Don't reset here, because configuration settings will
|
||||||
|
* vanish.
|
||||||
|
*/
|
||||||
|
if (!ehci_is_TDI(ehci) && (retval = ehci_reset(ehci)) != 0) {
|
||||||
ehci_mem_cleanup(ehci);
|
ehci_mem_cleanup(ehci);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,8 @@ static int ehci_orion_setup(struct usb_hcd *hcd)
|
||||||
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
|
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
ehci_reset(ehci);
|
hcd->has_tt = 1;
|
||||||
|
|
||||||
retval = ehci_halt(ehci);
|
retval = ehci_halt(ehci);
|
||||||
if (retval)
|
if (retval)
|
||||||
return retval;
|
return retval;
|
||||||
|
@ -117,7 +118,7 @@ static int ehci_orion_setup(struct usb_hcd *hcd)
|
||||||
if (retval)
|
if (retval)
|
||||||
return retval;
|
return retval;
|
||||||
|
|
||||||
hcd->has_tt = 1;
|
ehci_reset(ehci);
|
||||||
|
|
||||||
ehci_port_power(ehci, 0);
|
ehci_port_power(ehci, 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue