From add78d0716b92d0e5aa3169bcddff8b523e272e6 Mon Sep 17 00:00:00 2001 From: Suresh Mangipudi Date: Fri, 30 Dec 2011 13:59:33 +0530 Subject: usb: gadget: fsl_udc: fix resume path for power USB Device when resuming from LP0 will reset the PowerDown values of USB, these powerdown have to be reprogrammed when there is no usb cable when device resumes from LP0. Bug 919432 Change-Id: I306efc3614cceffbf132db92e0a897693043e3f7 Signed-off-by: Suresh Mangipudi Reviewed-on: http://git-master/r/72722 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Rakesh Bodla Reviewed-by: Venkat Moganty --- drivers/usb/gadget/fsl_udc_core.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'drivers/usb/gadget') diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c index 813d290cdc5c..eeec98f36901 100644 --- a/drivers/usb/gadget/fsl_udc_core.c +++ b/drivers/usb/gadget/fsl_udc_core.c @@ -3172,19 +3172,19 @@ static int fsl_udc_suspend(struct platform_device *pdev, pm_message_t state) static int fsl_udc_resume(struct platform_device *pdev) { if (udc_controller->transceiver) { - fsl_udc_clk_enable(); + fsl_udc_clk_resume(true); if (!(fsl_readl(&usb_sys_regs->vbus_wakeup) & USB_SYS_ID_PIN_STATUS)) { /* If ID status is low means host is connected, return */ - fsl_udc_clk_disable(); + fsl_udc_clk_suspend(false); return 0; } /* check for VBUS */ if (!(fsl_readl(&usb_sys_regs->vbus_wakeup) & USB_SYS_VBUS_STATUS)) { /* if there is no VBUS then power down the clocks and return */ - fsl_udc_clk_disable(); + fsl_udc_clk_suspend(false); return 0; } else { - fsl_udc_clk_disable(); + fsl_udc_clk_suspend(false); if (udc_controller->transceiver->state == OTG_STATE_A_HOST) return 0; /* Detected VBUS set the transceiver state to device mode */ -- cgit v1.2.3