Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 035c50b0 authored by Karthikeyan Mani's avatar Karthikeyan Mani
Browse files

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: default avatarKarthikeyan Mani <kmani@codeaurora.org>
parent 9ef70dac
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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;