mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-21 23:16:50 +08:00
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: 6b8e4e7db3 ("ASoC: amd: Add machine driver for Raven based platform")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Link: https://patch.msgid.link/20260310024246.2153827-1-nichen@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -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 |
|
||||
|
||||
Reference in New Issue
Block a user