usb: otg: Fix RESET on SUSPEND LPM race condition
Fix the following race condition:
1. Suspend interrupt is handled by suspend ISR
2. The msm_otg queue the suspend related task to sm_work
3. Reset interrupt is handled by reset ISR
4. The msm_otg queue the resume related task to sm_work
5. The reset ISR continues and start RESET handling
6. While 3-5, The sm_work handles the suspend and enters LPM
7. The sm_work handles the resume and exist LPM
The solution is to prevent such a race condition by deferring
entering LPM upon suspend by 500msecs. In that time, any RESUME
or RESET will cancel entering LPM.
Change-Id: I3cf254d359a8700e6ba530002a9351df6f312bcf
CRs-Fixed: 393245
Signed-off-by:
Amit Blay <ablay@codeaurora.org>
Loading
Please register or sign in to comment