diff options
author | Rakesh Bodla <rbodla@nvidia.com> | 2011-03-07 17:28:01 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:43:27 -0800 |
commit | 9d1913683bb0c5399b17b05987d1e9c0b05f9fdc (patch) | |
tree | f592a76e58201bb7e989a9f7b90464ac8ea9a8c5 /drivers/usb/gadget | |
parent | 4a1be684d4e24c0aa976e56e404f00b33652389b (diff) |
usb: fsl_udc: update vbus status before clock is disabled
When the device cable is disconnected, vbus status
must be updated before disabling the clock.
Bug 796339 779952
Original-Change-Id: Ib310028c5ae357a6fae63594892efca2352cff7a
Reviewed-on: http://git-master/r/21890
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: R49ea3db6ec0484486e467ae9cda945fe541e6c87
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r-- | drivers/usb/gadget/fsl_udc_core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 48bdfef02dca..977aab400515 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -1338,10 +1338,10 @@ static int fsl_vbus_session(struct usb_gadget *gadget, int is_active) /* stop the controller and turn off the clocks */ dr_controller_stop(udc); dr_controller_reset(udc); - spin_unlock_irqrestore(&udc->lock, flags); - fsl_udc_clk_suspend(); udc->vbus_active = 0; udc->usb_state = USB_STATE_DEFAULT; + spin_unlock_irqrestore(&udc->lock, flags); + fsl_udc_clk_suspend(); } else if (!udc->vbus_active && is_active) { fsl_udc_clk_resume(); /* setup the controller in the device mode */ |