summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2011-03-07 17:28:01 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:43:27 -0800
commit9d1913683bb0c5399b17b05987d1e9c0b05f9fdc (patch)
treef592a76e58201bb7e989a9f7b90464ac8ea9a8c5 /drivers/usb/gadget
parent4a1be684d4e24c0aa976e56e404f00b33652389b (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.c4
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 */