diff options
author | Peter Chen <peter.chen@freescale.com> | 2013-07-12 13:45:49 +0800 |
---|---|---|
committer | Peter Chen <peter.chen@freescale.com> | 2013-07-15 15:59:33 +0800 |
commit | 260fe29a581e6d8c1f83132f2582f915d39915ab (patch) | |
tree | ba1ce1ba06c7dd8e108900e77205ef5e36ed811e /drivers | |
parent | 4367334cfc37ce457ac703df1e8073f6d262765b (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>
Diffstat (limited to 'drivers')
-rwxr-xr-x | drivers/usb/otg/fsl_otg.c | 6 |
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; } } |