[PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path
From: Haotian Zhang
Date: Thu Nov 06 2025 - 02:51:19 EST
In the commit referenced by the Fixes tag, clk_hw_get_clk()
was added in va_macro_probe() to get the fsgen clock,
but forgot to add the corresponding clk_put() in va_macro_remove().
This leads to a clock reference leak when the driver is unloaded.
Add clk_put() call in va_macro_remove() to properly release the clock
reference obtained in probe.
Fixes: 30097967e056 ("ASoC: codecs: va-macro: use fsgen as clock")
Signed-off-by: Haotian Zhang <vulab@xxxxxxxxxxx>
---
sound/soc/codecs/lpass-va-macro.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index a49551f3fb29..440d0f54aa33 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1663,6 +1663,7 @@ static void va_macro_remove(struct platform_device *pdev)
{
struct va_macro *va = dev_get_drvdata(&pdev->dev);
+ clk_put(va->fsgen);
if (va->has_npl_clk)
clk_disable_unprepare(va->npl);
--
2.50.1.windows.1