[PATCH] soundoc: qcom: va-macro: fix resource leak in va_macro_remove()

Haotian Zhang posted 1 patch 3 months ago
sound/soc/codecs/lpass-va-macro.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] soundoc: qcom: va-macro: fix resource leak in va_macro_remove()
Posted by Haotian Zhang 3 months ago
The va_macro_probe() function calls clk_hw_get_clk() to obtain the
fsgen clock, which increments the clock's reference count. However,
the corresponding va_macro_remove() function does not call clk_put()
to release this reference, resulting in a resource leak.

Add clk_put() call in va_macro_remove() to properly release the fsgen
clock reference.

Fixes: 908e6b1df26e ("ASoC: codecs: lpass-va-macro: Add support to VA Macro")
Signed-off-by: Haotian Zhang <vulab@iscas.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