]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
clk: imx: imx8: Fix an error handling path in clk_imx_acm_attach_pm_domains()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 14 Sep 2023 20:31:02 +0000 (22:31 +0200)
committerAbel Vesa <abel.vesa@linaro.org>
Wed, 4 Oct 2023 08:13:58 +0000 (11:13 +0300)
If a dev_pm_domain_attach_by_id() call fails, previously allocated
resources need to be released.

Fixes: d3a0946d7ac9 ("clk: imx: imx8: add audio clock mux driver")
Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
drivers/clk/imx/clk-imx8-acm.c

index 1e82f72b75c674c9d9f352928ee78f01dca4d7be..87025a6772d0ecc83a9dfee5a3bc826dfecdcbe0 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],