提交 bcf40815 编写于 作者: M Matthieu CASTET 提交者: Greg Kroah-Hartman

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: NMatthieu CASTET <castet.matthieu@parrot.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 e2904ee4
......@@ -679,7 +679,12 @@ static int ehci_run (struct usb_hcd *hcd)
hcd->uses_new_polling = 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);
return retval;
}
......
......@@ -105,7 +105,8 @@ static int ehci_orion_setup(struct usb_hcd *hcd)
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
int retval;
ehci_reset(ehci);
hcd->has_tt = 1;
retval = ehci_halt(ehci);
if (retval)
return retval;
......@@ -117,7 +118,7 @@ static int ehci_orion_setup(struct usb_hcd *hcd)
if (retval)
return retval;
hcd->has_tt = 1;
ehci_reset(ehci);
ehci_port_power(ehci, 0);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册