msm_otg: Fix LPM issue on removing Host cable

Device is not entering into LPM on removing Host Cable.
msm_otg_suspend is aborted due to inputs bit is set with
A_BUS_REQ which is check before going ahead and preparing
device for clock OFF and LPM state.

A_BUS_REQ is being set from msm_otg_set_suspend() called
from ehci runtime resume when removing Micro A cable.
Fix side effect of commit 572092fed ("USB: msm_otg: Always
update state machine inputs during bus suspend/resume") by
clearing A_BUS_REQ bit with inputs when removing charger
work from OTG_STATE_B_IDLE.

CRs-Fixed: 444160
Change-Id: I5325d2965ecc754ff54b297047603acda5801aae
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
Mayank Rana
2013-01-23 19:26:21 +05:30
committed by Stephen Boyd
parent d1b5a4f214
commit ebc2c82d3f

View File

@@ -2366,6 +2366,7 @@ static void msm_otg_sm_work(struct work_struct *w)
break;
} else {
pr_debug("chg_work cancel");
clear_bit(A_BUS_REQ, &motg->inputs);
cancel_delayed_work_sync(&motg->chg_work);
cancel_delayed_work_sync(&motg->check_ta_work);
motg->chg_state = USB_CHG_STATE_UNDEFINED;