From b273c8269174dc3c984f009cb114800b828eb755 Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Fri, 20 Nov 2020 11:03:57 +0800 Subject: [PATCH] soc: swr-mstr: return when requesting hw vote fails SSR notification may not come to swr master control in time and cause swrm_runtime_resume tries to access SWR registers. Update the logic to return when requesting hw vote fails. Change-Id: Ia85e9ce540ff88d16e8e73c48bab26fb277b86bb Signed-off-by: Meng Wang --- soc/swr-mstr-ctrl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/soc/swr-mstr-ctrl.c b/soc/swr-mstr-ctrl.c index c5a9501db4a0..0bcfabb7b5ec 100644 --- a/soc/swr-mstr-ctrl.c +++ b/soc/swr-mstr-ctrl.c @@ -3090,6 +3090,12 @@ static int swrm_runtime_resume(struct device *dev) dev_err(dev, "%s:lpass core hw enable failed\n", __func__); hw_core_err = true; + pm_runtime_set_autosuspend_delay(&pdev->dev, + ERR_AUTO_SUSPEND_TIMER_VAL); + if (swrm->req_clk_switch) + swrm->req_clk_switch = false; + mutex_unlock(&swrm->reslock); + return 0; } if (swrm_request_hw_vote(swrm, LPASS_AUDIO_CORE, true)) { dev_err(dev, "%s:lpass audio hw enable failed\n",