diff options
author | Miaoqian Lin <linmq006@gmail.com> | 2022-04-03 14:52:39 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-04-05 12:33:45 +0300 |
commit | e927b05f3cc20de87f6b7d912a5bbe556931caca (patch) | |
tree | 455678297e68f2123450f992f38d4327f423acc6 /sound | |
parent | 8ba08d3a367a70f707b7c5d53ad92b98b960ee88 (diff) | |
download | linux-e927b05f3cc20de87f6b7d912a5bbe556931caca.tar.xz |
ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component
devm_snd_soc_register_component() may fails, we should check the error
and do the corresponding error handling.
Fixes: 150db8c5afa1 ("ASoC: codecs: Add msm8916-wcd digital codec")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220403115239.30140-1-linmq006@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/msm8916-wcd-digital.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index 9ad7fc0baf07..20a07c92b2fc 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c @@ -1206,9 +1206,16 @@ static int msm8916_wcd_digital_probe(struct platform_device *pdev) dev_set_drvdata(dev, priv); - return devm_snd_soc_register_component(dev, &msm8916_wcd_digital, + ret = devm_snd_soc_register_component(dev, &msm8916_wcd_digital, msm8916_wcd_digital_dai, ARRAY_SIZE(msm8916_wcd_digital_dai)); + if (ret) + goto err_mclk; + + return 0; + +err_mclk: + clk_disable_unprepare(priv->mclk); err_clk: clk_disable_unprepare(priv->ahbclk); return ret; |