clk: imx: imx8: Fix an error handling path if devm_clk_hw_register_mux_parent_data_ta...
[platform/kernel/linux-starfive.git] / drivers / clk / imx / clk-imx8-acm.c
index 1e82f72..73b3b53 100644 (file)
@@ -279,8 +279,10 @@ static int clk_imx_acm_attach_pm_domains(struct device *dev,
 
        for (i = 0; i < dev_pm->num_domains; i++) {
                dev_pm->pd_dev[i] = dev_pm_domain_attach_by_id(dev, i);
-               if (IS_ERR(dev_pm->pd_dev[i]))
-                       return PTR_ERR(dev_pm->pd_dev[i]);
+               if (IS_ERR(dev_pm->pd_dev[i])) {
+                       ret = PTR_ERR(dev_pm->pd_dev[i]);
+                       goto detach_pm;
+               }
 
                dev_pm->pd_dev_link[i] = device_link_add(dev,
                                                         dev_pm->pd_dev[i],
@@ -371,6 +373,7 @@ static int imx8_acm_clk_probe(struct platform_device *pdev)
                                                                                sels[i].shift, sels[i].width,
                                                                                0, NULL, NULL);
                if (IS_ERR(hws[sels[i].clkid])) {
+                       ret = PTR_ERR(hws[sels[i].clkid]);
                        pm_runtime_disable(&pdev->dev);
                        goto err_clk_register;
                }