Forráskód Böngészése

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 <[email protected]>
sarath varma ganapathiraju 3 éve
szülő
commit
71ce6b682b
1 módosított fájl, 4 hozzáadás és 3 törlés
  1. 4 3
      asoc/codecs/lpass-cdc/lpass-cdc-clk-rsc.c

+ 4 - 3
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]);
 		}
 	}