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:
Karthikeyan Mani 2019-05-02 13:35:01 -07:00
parent 9ef70dacaa
commit 035c50b0bd

View file

@ -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;