From e76174a3843374e7aa4985e4458d9f727c259b66 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Tue, 3 Mar 2020 20:02:19 +0530 Subject: [PATCH] va-macro: Add autosuspend after pm_runtime_get_sync If va_macro_tx_va_mclk_enable returns error, va macro autosuspend will not be called. Add autosuspend before return. Change-Id: Iea3728fab2d240514ca4a7e02ef535edce977ee8 Signed-off-by: Vatsal Bucha --- asoc/codecs/bolero/va-macro.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/asoc/codecs/bolero/va-macro.c b/asoc/codecs/bolero/va-macro.c index 7d38e344df86..068cdbe3d006 100644 --- a/asoc/codecs/bolero/va-macro.c +++ b/asoc/codecs/bolero/va-macro.c @@ -685,14 +685,20 @@ static int va_macro_swrm_clock(void *handle, bool enable) if (va_priv->va_swr_clk_cnt && !va_priv->tx_swr_clk_cnt) { ret = va_macro_tx_va_mclk_enable(va_priv, regmap, VA_MCLK, enable); - if (ret) + if (ret) { + pm_runtime_mark_last_busy(va_priv->dev); + pm_runtime_put_autosuspend(va_priv->dev); goto done; + } va_priv->va_clk_status++; } else { ret = va_macro_tx_va_mclk_enable(va_priv, regmap, TX_MCLK, enable); - if (ret) + if (ret) { + pm_runtime_mark_last_busy(va_priv->dev); + pm_runtime_put_autosuspend(va_priv->dev); goto done; + } va_priv->tx_clk_status++; } pm_runtime_mark_last_busy(va_priv->dev);