From 71ce6b682b6fd946db778e7a39df53c8ab4e7a2b Mon Sep 17 00:00:00 2001 From: sarath varma ganapathiraju Date: Thu, 13 May 2021 10:25:35 +0800 Subject: [PATCH] asoc: lpass-cdc: disable clk when they are enabled Check if clk is enabled before disabling it to avoid warning log during adsp SSR. Change-Id: I916af6f9efacfe3d08e0b05dcc0c6023944369d2 Signed-off-by: sarath varma ganapathiraju --- asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c b/asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c index cd9f17016b..4b2f8cb880 100644 --- a/asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c +++ b/asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c @@ -195,15 +195,16 @@ void lpass_cdc_clk_rsc_enable_all_clocks(struct device *dev, bool enable) #ifdef CONFIG_BOLERO_VER_2P1 if (priv->clk[i + NPL_CLK_OFFSET]) clk_prepare_enable( - priv->clk[i + NPL_CLK_OFFSET]); + priv->clk[i + NPL_CLK_OFFSET]); #endif } else { #ifdef CONFIG_BOLERO_VER_2P1 - if (priv->clk[i + NPL_CLK_OFFSET]) + if (priv->clk[i + NPL_CLK_OFFSET] && + __clk_is_enabled(priv->clk[i + NPL_CLK_OFFSET])) clk_disable_unprepare( priv->clk[i + NPL_CLK_OFFSET]); #endif - if (priv->clk[i]) + if (priv->clk[i] && __clk_is_enabled(priv->clk[i])) clk_disable_unprepare(priv->clk[i]); } }