* [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
* [PATCH 2/3] ASoC: mediatek: mt8173: Use dev_err_probe() for error handling
2026-08-18 10:43 [PATCH 1/3] ASoC: mediatek: mt8173: Fix clock error handling phucduc.bui
@ 2026-08-18 10:43 ` phucduc.bui
2026-08-18 10:43 ` [PATCH 3/3] ASoC: mediatek: mt8173: Drop redundant probe error messages phucduc.bui
1 sibling, 0 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>
Replace dev_err() with dev_err_probe() to prevent log spam when probe
returns -EPROBE_DEFER.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
index b4c6ef6f0845..b7c4b24a9cad 100644
--- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
+++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
@@ -1038,11 +1038,9 @@ static int mt8173_afe_init_audio_clk(struct mtk_base_afe *afe)
for (i = 0; i < ARRAY_SIZE(aud_clks); i++) {
afe_priv->clocks[i] = devm_clk_get(afe->dev, aud_clks[i]);
- if (IS_ERR(afe_priv->clocks[i])) {
- dev_err(afe->dev, "%s devm_clk_get %s fail\n",
- __func__, aud_clks[i]);
- return PTR_ERR(afe_priv->clocks[i]);
- }
+ if (IS_ERR(afe_priv->clocks[i]))
+ return dev_err_probe(afe->dev, PTR_ERR(afe_priv->clocks[i]),
+ "failed to get clock %s\n", aud_clks[i]);
}
clk_set_rate(afe_priv->clocks[MT8173_CLK_BCK0], 22579200); /* 22M */
clk_set_rate(afe_priv->clocks[MT8173_CLK_BCK1], 24576000); /* 24M */
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 3/3] ASoC: mediatek: mt8173: Drop redundant probe error messages
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 ` phucduc.bui
1 sibling, 0 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 errors handled here are already reported by the called functions,
either directly or deeper in the call chain. Therefore, the additional
dev_err() calls are redundant and can be removed.
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
sound/soc/mediatek/mt8173/mt8173-afe-pcm.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
index b7c4b24a9cad..c2421f17375b 100644
--- a/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
+++ b/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c
@@ -1091,10 +1091,8 @@ static int mt8173_afe_pcm_dev_probe(struct platform_device *pdev)
/* initial audio related clock */
ret = mt8173_afe_init_audio_clk(afe);
- if (ret) {
- dev_err(dev, "mt8173_afe_init_audio_clk fail\n");
+ if (ret)
return ret;
- }
/* memif % irq initialize*/
afe->memif_size = MT8173_AFE_MEMIF_NUM;
@@ -1154,10 +1152,8 @@ static int mt8173_afe_pcm_dev_probe(struct platform_device *pdev)
ret = devm_request_irq(dev, irq_id, mt8173_afe_irq_handler,
0, "Afe_ISR_Handle", (void *)afe);
- if (ret) {
- dev_err(dev, "could not request_irq\n");
+ if (ret)
goto err_cleanup_components;
- }
dev_info(dev, "MT8173 AFE driver initialized.\n");
return 0;
--
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.