power: qpnp-bms: fix resume timing

Kernel time does not change during suspend. This causes BMS to have
issues where SoC upon resume can vary wildly from the SoC on suspend
because the kernel's 20 second workqueue does not kick in.

Fix this by canceling remaining SoC work upon suspend and rescheduling
them depending on how much time has passed upon resume.

CRs-Fixed: 480859
Change-Id: I9089873ca221354344a86cdff5014eb0b763d051
Signed-off-by: Xiaozhe Shi <xiaozhes@codeaurora.org>
1 file changed