ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe

[ Upstream commit 375a347da4 ]

Fix the missing clk_disable_unprepare() before return
from msm8916_wcd_digital_probe in the error handling case.

Fixes: 150db8c5af ("ASoC: codecs: Add msm8916-wcd digital codec")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220307084523.28687-1-linmq006@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Miaoqian Lin 2022-03-07 08:45:22 +00:00 коммит произвёл Greg Kroah-Hartman
Родитель 42735eae94
Коммит 9668c6bca1
1 изменённых файлов: 4 добавлений и 1 удалений

Просмотреть файл

@ -1201,7 +1201,7 @@ static int msm8916_wcd_digital_probe(struct platform_device *pdev)
ret = clk_prepare_enable(priv->mclk); ret = clk_prepare_enable(priv->mclk);
if (ret < 0) { if (ret < 0) {
dev_err(dev, "failed to enable mclk %d\n", ret); dev_err(dev, "failed to enable mclk %d\n", ret);
return ret; goto err_clk;
} }
dev_set_drvdata(dev, priv); dev_set_drvdata(dev, priv);
@ -1209,6 +1209,9 @@ static int msm8916_wcd_digital_probe(struct platform_device *pdev)
return devm_snd_soc_register_component(dev, &msm8916_wcd_digital, return devm_snd_soc_register_component(dev, &msm8916_wcd_digital,
msm8916_wcd_digital_dai, msm8916_wcd_digital_dai,
ARRAY_SIZE(msm8916_wcd_digital_dai)); ARRAY_SIZE(msm8916_wcd_digital_dai));
err_clk:
clk_disable_unprepare(priv->ahbclk);
return ret;
} }
static int msm8916_wcd_digital_remove(struct platform_device *pdev) static int msm8916_wcd_digital_remove(struct platform_device *pdev)