soc: qcom: bam_dmux: Fix race condition between power up and power down
Triggering the ul_timeout delay work right after the completion of
power up handshake in the ul_wakeup() function has a small window for
race condition if the ul_wakeup()-caller preempted and cannot get the
chance to run before ul_timeout worker and notifying connected event
to the clients after ul_timeout cause the BUG due to incorrect locks.
Synchronize the UL power up and power down by taking the ul_ondemand_vote
which prevents the power down and gives the chance to ul_wakeup()-caller
to notify the connected event to the clients even if it preempted for long
time[greater than ul_timeout] by the high priority task.
CRs-Fixed: 977269
Change-Id: I2d43591af787c5f3e92cced945bc5175429b5ee3
Signed-off-by:
Arun Kumar Neelakantam <aneela@codeaurora.org>
Loading
Please register or sign in to comment