summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Chen <peter.chen@freescale.com>2013-07-12 13:45:49 +0800
committerPeter Chen <peter.chen@freescale.com>2013-07-15 15:59:33 +0800
commit260fe29a581e6d8c1f83132f2582f915d39915ab (patch)
treeba1ce1ba06c7dd8e108900e77205ef5e36ed811e
parent4367334cfc37ce457ac703df1e8073f6d262765b (diff)
ENGR00270802 usb: otg: delete redundant vbus off operation
The problem locates at: fsl_otg_start_host(fsm, 0); if (pdata->wake_up_enable) pdata->wake_up_enable(pdata, false); otg_drv_vbus(fsm, 0); fsl_otg_start_host(fsm, 0) internally calls fsl_otg_drv_vbus(), which does the same thing as otg_drv_vbus(fsm, 0). More critically, we need disable VBUS wakeup before close VBUS operation, otherwise unexpected VBUS wakeup will occur. The solution is to remove the call of fsl_otg_drv_vbus() in fsl_otg_start_host(). Signed-off-by: Peter Chen <peter.chen@freescale.com>
-rwxr-xr-xdrivers/usb/otg/fsl_otg.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/usb/otg/fsl_otg.c b/drivers/usb/otg/fsl_otg.c
index 00bd2e609525..7205f37c5213 100755
--- a/drivers/usb/otg/fsl_otg.c
+++ b/drivers/usb/otg/fsl_otg.c
@@ -551,13 +551,9 @@ int fsl_otg_start_host(struct otg_fsm *fsm, int on)
goto end;
else {
VDBG("host off......\n");
- if (host_pdrv->suspend) {
+ if (host_pdrv->suspend)
retval = host_pdrv->suspend(host_pdev,
otg_suspend_state);
- if (fsm->id)
- /* default-b */
- fsl_otg_drv_vbus(dev->platform_data, 0);
- }
otg_dev->host_working = 0;
}
}