Unverified Commit 53f3a900 authored by Chen Ni's avatar Chen Ni Committed by Mark Brown
Browse files

ASoC: amd: acp3x-rt5682-max9836: Add missing error check for clock acquisition



The acp3x_5682_init() function did not check the return value of
clk_get(), which could lead to dereferencing error pointers in
rt5682_clk_enable().

Fix this by:
1. Changing clk_get() to the device-managed devm_clk_get().
2. Adding proper IS_ERR() checks for both clock acquisitions.

Fixes: 6b8e4e7d ("ASoC: amd: Add machine driver for Raven based platform")
Signed-off-by: default avatarChen Ni <nichen@iscas.ac.cn>
Link: https://patch.msgid.link/20260310024246.2153827-1-nichen@iscas.ac.cn


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 30e4b229
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -94,8 +94,13 @@ static int acp3x_5682_init(struct snd_soc_pcm_runtime *rtd)
		return ret;
	}

	rt5682_dai_wclk = clk_get(component->dev, "rt5682-dai-wclk");
	rt5682_dai_bclk = clk_get(component->dev, "rt5682-dai-bclk");
	rt5682_dai_wclk = devm_clk_get(component->dev, "rt5682-dai-wclk");
	if (IS_ERR(rt5682_dai_wclk))
		return PTR_ERR(rt5682_dai_wclk);

	rt5682_dai_bclk = devm_clk_get(component->dev, "rt5682-dai-bclk");
	if (IS_ERR(rt5682_dai_bclk))
		return PTR_ERR(rt5682_dai_bclk);

	ret = snd_soc_card_jack_new_pins(card, "Headset Jack",
					 SND_JACK_HEADSET |