summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRohith Seelaboyina <rseelaboyina@nvidia.com>2012-09-12 14:22:15 +0530
committerVarun Colbert <vcolbert@nvidia.com>2012-09-12 19:07:44 -0700
commite2dcc0fff0bde89eced1482f3df763bfc7afd3a2 (patch)
treef697e3c95e3ed32e466e290ebdf93fedb4f5eb3a /drivers
parentb3595d04747d71e494bc0dbc64175d9645d193ad (diff)
usb: gadget: tegra: check vbus before run bit set
Adding the check for vbus before setting the run bit. Bug 1046443 Change-Id: If71748f0fe9c942061ca871034ad4298a58efc23 Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/131733 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Bodla <rbodla@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/tegra_udc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/usb/gadget/tegra_udc.c b/drivers/usb/gadget/tegra_udc.c
index aaffe8482f82..ddf9c602dc89 100644
--- a/drivers/usb/gadget/tegra_udc.c
+++ b/drivers/usb/gadget/tegra_udc.c
@@ -2364,11 +2364,13 @@ static int tegra_udc_start(struct usb_gadget_driver *driver,
/* Enable DR IRQ reg and Set usbcmd reg Run bit */
- dr_controller_run(udc);
- udc->usb_state = USB_STATE_ATTACHED;
- udc->ep0_state = WAIT_FOR_SETUP;
- udc->ep0_dir = 0;
- udc->vbus_active = vbus_enabled(udc);
+ if (vbus_enabled(udc)) {
+ dr_controller_run(udc);
+ udc->usb_state = USB_STATE_ATTACHED;
+ udc->ep0_state = WAIT_FOR_SETUP;
+ udc->ep0_dir = 0;
+ udc->vbus_active = vbus_enabled(udc);
+ }
printk(KERN_INFO "%s: bind to driver %s\n",
udc->gadget.name, driver->driver.name);