[PATCH 05/20] ASoC: sti: uniperif_player: Fix clock leak in uni_player_init()

From: Wentao Liang

Date: Wed Sep 16 2026 - 03:09:57 EST


In uni_player_init(), player->clk is acquired via of_clk_get(). If any
subsequent operation fails (e.g. regmap_field_write(), devm_request_irq()),
or upon driver detachment, the acquired clock is never freed with
clk_put(), resulting in a resource leak.

Switch to devm_clk_get() so the clock is managed automatically and
properly released.

Fixes: 76c2145ded6b ("ASoC: sti: Add CPU DAI driver for playback")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
sound/soc/sti/uniperif_player.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sti/uniperif_player.c b/sound/soc/sti/uniperif_player.c
index 45d35b887e4e..34a604688cc9 100644
--- a/sound/soc/sti/uniperif_player.c
+++ b/sound/soc/sti/uniperif_player.c
@@ -1078,7 +1078,7 @@ int uni_player_init(struct platform_device *pdev,
player->hw = &uni_player_pcm_hw;

/* Get uniperif resource */
- player->clk = of_clk_get(pdev->dev.of_node, 0);
+ player->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(player->clk)) {
dev_err(player->dev, "Failed to get clock\n");
return PTR_ERR(player->clk);
--
2.34.1