[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251106075055.555-1-vulab@iscas.ac.cn>
Date: Thu, 6 Nov 2025 15:50:54 +0800
From: Haotian Zhang <vulab@...as.ac.cn>
To: srinivas.kandagatla@...aro.org,
lgirdwood@...il.com,
broonie@...nel.org,
perex@...ex.cz,
tiwai@...e.com
Cc: linux-sound@...r.kernel.org,
linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org,
Haotian Zhang <vulab@...as.ac.cn>
Subject: [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path
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@...as.ac.cn>
---
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
Powered by blists - more mailing lists