OSDN Git Service

media: platform: fix missing/incorrect resource cleanup in error case
authorChengguang Xu <cgxu519@mykernel.net>
Sun, 29 May 2022 15:34:56 +0000 (16:34 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Mon, 20 Jun 2022 09:30:36 +0000 (10:30 +0100)
In error case of s5p_mfc_power_on() we should call
clk_disable_unprepare() for the
clocks(from pm->clocks[0] to pm->clocks[i-1]).

Signed-off-by: Chengguang Xu <cgxu519@mykernel.net>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/platform/samsung/s5p-mfc/s5p_mfc_pm.c

index 72a901e..1878498 100644 (file)
@@ -88,7 +88,6 @@ int s5p_mfc_power_on(void)
                if (ret < 0) {
                        mfc_err("clock prepare failed for clock: %s\n",
                                pm->clk_names[i]);
-                       i++;
                        goto err;
                }
        }
@@ -98,7 +97,7 @@ int s5p_mfc_power_on(void)
 
        return 0;
 err:
-       while (--i > 0)
+       while (--i >= 0)
                clk_disable_unprepare(pm->clocks[i]);
        pm_runtime_put(pm->device);
        return ret;