soundwire: return error if vote for LPASS HW Core fails
Before proceeding with handling soundwire interrupt check return value of vote for LPASS HW core and handle error scenarios. Change-Id: I0f19a5ddb0af82f33a8d004d008eda9baa40c036 Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
This commit is contained in:
parent
9ef70dacaa
commit
035c50b0bd
1 changed files with 10 additions and 2 deletions
|
@ -1441,8 +1441,15 @@ static irqreturn_t swr_mstr_interrupt_v2(int irq, void *dev)
|
|||
}
|
||||
|
||||
mutex_lock(&swrm->reslock);
|
||||
if (swrm->lpass_core_hw_vote)
|
||||
clk_prepare_enable(swrm->lpass_core_hw_vote);
|
||||
if (swrm->lpass_core_hw_vote) {
|
||||
ret = clk_prepare_enable(swrm->lpass_core_hw_vote);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "%s:lpass core hw enable failed\n",
|
||||
__func__);
|
||||
ret = IRQ_NONE;
|
||||
goto exit;
|
||||
}
|
||||
}
|
||||
swrm_clk_request(swrm, true);
|
||||
mutex_unlock(&swrm->reslock);
|
||||
|
||||
|
@ -1612,6 +1619,7 @@ static irqreturn_t swr_mstr_interrupt_v2(int irq, void *dev)
|
|||
swrm_clk_request(swrm, false);
|
||||
if (swrm->lpass_core_hw_vote)
|
||||
clk_disable_unprepare(swrm->lpass_core_hw_vote);
|
||||
exit:
|
||||
mutex_unlock(&swrm->reslock);
|
||||
swrm_unlock_sleep(swrm);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue