aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/clk/imx
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2023-09-14 22:31:02 +0200
committerAbel Vesa <abel.vesa@linaro.org>2023-10-04 11:13:58 +0300
commit156624e2cf815ce98fad5a24f04370f4459ae6f4 (patch)
tree0c084dca2fb6537f650f140fb1ebfb0d2053e6cb /drivers/clk/imx
parentclk: imx: Select MXC_CLK for CLK_IMX8QXP (diff)
downloadwireguard-linux-156624e2cf815ce98fad5a24f04370f4459ae6f4.tar.xz
wireguard-linux-156624e2cf815ce98fad5a24f04370f4459ae6f4.zip
clk: imx: imx8: Fix an error handling path in clk_imx_acm_attach_pm_domains()
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>
Diffstat (limited to 'drivers/clk/imx')
-rw-r--r--drivers/clk/imx/clk-imx8-acm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clk/imx/clk-imx8-acm.c b/drivers/clk/imx/clk-imx8-acm.c
index 1e82f72b75c6..87025a6772d0 100644
--- a/drivers/clk/imx/clk-imx8-acm.c
+++ b/drivers/clk/imx/clk-imx8-acm.c
@@ -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],