aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/otg
diff options
context:
space:
mode:
authorPavankumar Kondeti <pkondeti@codeaurora.org>2011-05-02 02:26:33 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-05-03 13:25:26 -0400
commit2ce2c3ac8852cfc8f74f4b7b9a2c4cdff007f96a (patch)
treec86963aeee28990c155c76e8e399787aae0bbcb7 /drivers/usb/otg
parentac1aa6a21747d02a93b1becb4ab19f1fc9de2beb (diff)
USB: OTG: msm: Clear in_lpm flag before enabling the IRQ in resume
The current code is clearing in_lpm flag after enabling the IRQ. If IRQ comes immediately before in_lpm flag is set, it thinks that hardware is in low power mode and disables the IRQ. Fix this by clearing in_lpm flag before enabling the IRQ. Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/otg')
-rw-r--r--drivers/usb/otg/msm_otg.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/otg/msm_otg.c b/drivers/usb/otg/msm_otg.c
index 296598628b85..f58b7dab75aa 100644
--- a/drivers/usb/otg/msm_otg.c
+++ b/drivers/usb/otg/msm_otg.c
@@ -389,14 +389,14 @@ skip_phy_resume:
389 if (bus) 389 if (bus)
390 set_bit(HCD_FLAG_HW_ACCESSIBLE, &(bus_to_hcd(bus))->flags); 390 set_bit(HCD_FLAG_HW_ACCESSIBLE, &(bus_to_hcd(bus))->flags);
391 391
392 atomic_set(&motg->in_lpm, 0);
393
392 if (motg->async_int) { 394 if (motg->async_int) {
393 motg->async_int = 0; 395 motg->async_int = 0;
394 pm_runtime_put(otg->dev); 396 pm_runtime_put(otg->dev);
395 enable_irq(motg->irq); 397 enable_irq(motg->irq);
396 } 398 }
397 399
398 atomic_set(&motg->in_lpm, 0);
399
400 dev_info(otg->dev, "USB exited from low power mode\n"); 400 dev_info(otg->dev, "USB exited from low power mode\n");
401 401
402 return 0; 402 return 0;