From e2dcc0fff0bde89eced1482f3df763bfc7afd3a2 Mon Sep 17 00:00:00 2001 From: Rohith Seelaboyina Date: Wed, 12 Sep 2012 14:22:15 +0530 Subject: 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 Reviewed-on: http://git-master/r/131733 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Bodla Reviewed-by: Venkat Moganty --- drivers/usb/gadget/tegra_udc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'drivers/usb') 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); -- cgit v1.2.3