All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] ASoC: mediatek: mt8173: Fix clock error handling
@ 2026-08-18 10:43 phucduc.bui
  2026-08-18 10:43 ` [PATCH 2/3] ASoC: mediatek: mt8173: Use dev_err_probe() for " phucduc.bui
  2026-08-18 10:43 ` [PATCH 3/3] ASoC: mediatek: mt8173: Drop redundant probe error messages phucduc.bui
  0 siblings, 2 replies; 3+ messages in thread
From: phucduc.bui @ 2026-08-18 10:43 UTC (permalink / raw)
  To: Mark Brown, Matthias Brugger
  Cc: Liam Girdwood, AngeloGioacchino Del Regno, Jaroslav Kysela,
	Takashi Iwai, linux-sound, linux-arm-kernel, linux-mediatek,
	linux-kernel, bui duc phuc

From: bui duc phuc <phucduc.bui@gmail.com>

The error handling paths in mt8173_afe_runtime_resume() use incorrect
labels, specifically err_i2s1_m and err_i2s2_m.
When clk_prepare_enable() fails, the code jumps to a label that calls
clk_disable_unprepare() on the clock that failed to enable. Instead,
it should call clk_disable_unprepare() on the clock that was successfully
enabled before the failure.

Fix the labels and clk_disable_unprepare() calls to ensure the error
cleanup is handled correctly.

Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
index 69cadc91c97f..b4c6ef6f0845 100644
--- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
+++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
@@ -997,10 +997,10 @@ static int mt8173_afe_runtime_resume(struct device *dev)
 		goto err_bck0;
 	ret = clk_prepare_enable(afe_priv->clocks[MT8173_CLK_I2S1_M]);
 	if (ret)
-		goto err_i2s1_m;
+		goto err_bck1;
 	ret = clk_prepare_enable(afe_priv->clocks[MT8173_CLK_I2S2_M]);
 	if (ret)
-		goto err_i2s2_m;
+		goto err_i2s1_m;
 
 	/* enable AFE clk */
 	regmap_update_bits(afe->regmap, AUDIO_TOP_CON0, AUD_TCON0_PDN_AFE, 0);
@@ -1018,8 +1018,8 @@ static int mt8173_afe_runtime_resume(struct device *dev)
 
 err_i2s1_m:
 	clk_disable_unprepare(afe_priv->clocks[MT8173_CLK_I2S1_M]);
-err_i2s2_m:
-	clk_disable_unprepare(afe_priv->clocks[MT8173_CLK_I2S2_M]);
+err_bck1:
+	clk_disable_unprepare(afe_priv->clocks[MT8173_CLK_BCK1]);
 err_bck0:
 	clk_disable_unprepare(afe_priv->clocks[MT8173_CLK_BCK0]);
 err_top_aud:
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-18 10:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 10:43 [PATCH 1/3] ASoC: mediatek: mt8173: Fix clock error handling phucduc.bui
2026-08-18 10:43 ` [PATCH 2/3] ASoC: mediatek: mt8173: Use dev_err_probe() for " phucduc.bui
2026-08-18 10:43 ` [PATCH 3/3] ASoC: mediatek: mt8173: Drop redundant probe error messages phucduc.bui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.