Merge tag 'driver-core-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / sound / soc / codecs / msm8916-wcd-digital.c
index fcc10c8..9ad7fc0 100644 (file)
@@ -1201,7 +1201,7 @@ static int msm8916_wcd_digital_probe(struct platform_device *pdev)
        ret = clk_prepare_enable(priv->mclk);
        if (ret < 0) {
                dev_err(dev, "failed to enable mclk %d\n", ret);
-               return ret;
+               goto err_clk;
        }
 
        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,
                                      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)