USB: msm_otg: Increment PM usage counter for suspend failure cases

The current code does not return error from runtime_suspend hook,
even if fail to enter into low power mode.  OTG driver will not
increment PM runtime usage counter outside LPM.  Runtime PM thinks,
our device is in LPM and ignores the subsequent PM usage decrements.
Hence increment the PM usage counter explicitly if suspend fails.

Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
diff --git a/drivers/usb/otg/msm72k_otg.c b/drivers/usb/otg/msm72k_otg.c
index 43df173..4e66cec 100644
--- a/drivers/usb/otg/msm72k_otg.c
+++ b/drivers/usb/otg/msm72k_otg.c
@@ -833,6 +833,8 @@
 {
 #ifdef CONFIG_PM_RUNTIME
 	pm_runtime_put_sync(dev->otg.dev);
+	if (!atomic_read(&dev->in_lpm))
+		pm_runtime_get_sync(dev->otg.dev);
 #else
 	msm_otg_suspend(dev);
 #endif
@@ -1590,15 +1592,12 @@
 
 		/*
 		 * We can come here when LPM fails with wall charger
-		 * connected. Increment the PM usage counter to reflect
-		 * the actual device state. Change the state to
-		 * B_PERIPHERAL and schedule the work which takes care
-		 * of resetting the PHY and putting the hardware in
-		 * low power mode.
+		 * connected. Change the state to B_PERIPHERAL and
+		 * schedule the work which takes care of resetting the
+		 * PHY and putting the hardware in low power mode.
 		 */
 		if (atomic_read(&dev->chg_type) ==
 				USB_CHG_TYPE__WALLCHARGER) {
-			msm_otg_get_resume(dev);
 			spin_lock_irqsave(&dev->lock, flags);
 			dev->otg.state = OTG_STATE_B_PERIPHERAL;
 			spin_unlock_irqrestore(&dev->lock, flags);