summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVenkat Moganty <vmoganty@nvidia.com>2010-07-22 16:32:26 +0530
committerGary King <gking@nvidia.com>2010-07-22 11:06:18 -0700
commit3fc337ed7b28466d3446bb183626581f33dfdc7c (patch)
tree32aeed218acfee9c6562d40166a2e7955123daca
parentf0876215f4c57dbcdbfab58bc0b3c844224e0d7c (diff)
[tegra-udc] Fix LP0 resume hang in USB OTG-device
Setting OTG state to device mode on resume from LP0 if VBUS is detected during LP0 resume. Change-Id: Ib029e6ea5b1d3e4b5c4b5c913c71e2789106a426 Reviewed-on: http://git-master/r/4247 Reviewed-by: Narendra Damahe <ndamahe@nvidia.com> Tested-by: Narendra Damahe <ndamahe@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
-rw-r--r--drivers/usb/gadget/fsl_udc_core.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
index 604998f60384..d5bd426dfb5e 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -2970,6 +2970,9 @@ static int fsl_udc_resume(struct platform_device *pdev)
/* if there is no VBUS then power down the clocks and return */
platform_udc_clk_suspend();
return 0;
+ } else {
+ /* Detected VBUS set the transceiver state to device mode */
+ udc_controller->transceiver->state = OTG_STATE_B_PERIPHERAL;
}
} else {
/* enable the clocks to the controller */