* [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path
@ 2025-11-06 7:50 Haotian Zhang
2025-11-06 10:00 ` Konrad Dybcio
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
0 siblings, 2 replies; 6+ messages in thread
From: Haotian Zhang @ 2025-11-06 7:50 UTC (permalink / raw)
To: srinivas.kandagatla, lgirdwood, broonie, perex, tiwai
Cc: linux-sound, linux-arm-msm, linux-kernel, Haotian Zhang
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@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
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path
2025-11-06 7:50 [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path Haotian Zhang
@ 2025-11-06 10:00 ` Konrad Dybcio
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
1 sibling, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-11-06 10:00 UTC (permalink / raw)
To: Haotian Zhang, srinivas.kandagatla, lgirdwood, broonie, perex, tiwai
Cc: linux-sound, linux-arm-msm, linux-kernel
On 11/6/25 8:50 AM, Haotian Zhang wrote:
> 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@iscas.ac.cn>
> ---
You can switch the clk_hw_get_clk to devm_clk_hw_get_clk() instead
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH v2] ASoC: codecs: va-macro: fix resource leak in probe error path
2025-11-06 7:50 [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path Haotian Zhang
2025-11-06 10:00 ` Konrad Dybcio
@ 2025-11-06 14:31 ` Haotian Zhang
2025-11-06 14:58 ` Konrad Dybcio
` (2 more replies)
1 sibling, 3 replies; 6+ messages in thread
From: Haotian Zhang @ 2025-11-06 14:31 UTC (permalink / raw)
To: Srinivas Kandagatla, Liam Girdwood, Mark Brown, Jaroslav Kysela,
Takashi Iwai, Konrad Dybcio
Cc: linux-sound, linux-arm-msm, linux-kernel, Haotian Zhang
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.
Switch to devm_clk_hw_get_clk() to automatically manage the
clock resource.
Fixes: 30097967e056 ("ASoC: codecs: va-macro: use fsgen as clock")
Suggested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
---
Changes in v2:
-Switch to devm_clk_hw_get_clk() instead.
---
sound/soc/codecs/lpass-va-macro.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/lpass-va-macro.c b/sound/soc/codecs/lpass-va-macro.c
index a49551f3fb29..fead5c941f21 100644
--- a/sound/soc/codecs/lpass-va-macro.c
+++ b/sound/soc/codecs/lpass-va-macro.c
@@ -1636,7 +1636,7 @@ static int va_macro_probe(struct platform_device *pdev)
if (ret)
goto err_clkout;
- va->fsgen = clk_hw_get_clk(&va->hw, "fsgen");
+ va->fsgen = devm_clk_hw_get_clk(dev, &va->hw, "fsgen");
if (IS_ERR(va->fsgen)) {
ret = PTR_ERR(va->fsgen);
goto err_clkout;
--
2.50.1.windows.1
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2] ASoC: codecs: va-macro: fix resource leak in probe error path
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
@ 2025-11-06 14:58 ` Konrad Dybcio
2025-11-06 15:59 ` Mark Brown
2025-11-06 23:54 ` Mark Brown
2 siblings, 0 replies; 6+ messages in thread
From: Konrad Dybcio @ 2025-11-06 14:58 UTC (permalink / raw)
To: Haotian Zhang, Srinivas Kandagatla, Liam Girdwood, Mark Brown,
Jaroslav Kysela, Takashi Iwai
Cc: linux-sound, linux-arm-msm, linux-kernel
On 11/6/25 3:31 PM, Haotian Zhang wrote:
> 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.
>
> Switch to devm_clk_hw_get_clk() to automatically manage the
> clock resource.
>
> Fixes: 30097967e056 ("ASoC: codecs: va-macro: use fsgen as clock")
> Suggested-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
I feel like that's a little much given you found the original issue
and I only suggested a different way to tackle it, but regardless:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2] ASoC: codecs: va-macro: fix resource leak in probe error path
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
2025-11-06 14:58 ` Konrad Dybcio
@ 2025-11-06 15:59 ` Mark Brown
2025-11-06 23:54 ` Mark Brown
2 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2025-11-06 15:59 UTC (permalink / raw)
To: Haotian Zhang
Cc: Srinivas Kandagatla, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Konrad Dybcio, linux-sound, linux-arm-msm,
linux-kernel
[-- Attachment #1: Type: text/plain, Size: 607 bytes --]
On Thu, Nov 06, 2025 at 10:31:14PM +0800, Haotian Zhang wrote:
> 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.
Please don't send new patches in reply to old patches or serieses, this
makes it harder for both people and tools to understand what is going
on - it can bury things in mailboxes and make it difficult to keep track
of what current patches are, both for the new patches and the old ones.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] ASoC: codecs: va-macro: fix resource leak in probe error path
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
2025-11-06 14:58 ` Konrad Dybcio
2025-11-06 15:59 ` Mark Brown
@ 2025-11-06 23:54 ` Mark Brown
2 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2025-11-06 23:54 UTC (permalink / raw)
To: Srinivas Kandagatla, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Konrad Dybcio, Haotian Zhang
Cc: linux-sound, linux-arm-msm, linux-kernel
On Thu, 06 Nov 2025 22:31:14 +0800, Haotian Zhang wrote:
> 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.
>
> Switch to devm_clk_hw_get_clk() to automatically manage the
> clock resource.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: codecs: va-macro: fix resource leak in probe error path
commit: 3dc8c73365d3ca25c99e7e1a0f493039d7291df5
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-06 23:54 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-06 7:50 [PATCH] ASoC: codecs: va-macro: fix resource leak in probe error path Haotian Zhang
2025-11-06 10:00 ` Konrad Dybcio
2025-11-06 14:31 ` [PATCH v2] " Haotian Zhang
2025-11-06 14:58 ` Konrad Dybcio
2025-11-06 15:59 ` Mark Brown
2025-11-06 23:54 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®