]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: camif-core: Add check for clk_enable()
authorJiasheng Jiang <jiashengjiangcool@gmail.com>
Mon, 25 Nov 2024 19:18:17 +0000 (19:18 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Mar 2025 11:50:09 +0000 (12:50 +0100)
[ Upstream commit 77ed2470ac09c2b0a33cf3f98cc51d18ba9ed976 ]

Add check for the return value of clk_enable() to gurantee the success.

Fixes: babde1c243b2 ("[media] V4L: Add driver for S3C24XX/S3C64XX SoC series camera interface")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/s3c-camif/camif-core.c

index e1d51fd3e7008e98a8a51b467666dd3690fe3c16..e4c8e3f19626dbb3aa9a9cb85039c492d7923b3c 100644 (file)
@@ -532,10 +532,19 @@ static int s3c_camif_remove(struct platform_device *pdev)
 static int s3c_camif_runtime_resume(struct device *dev)
 {
        struct camif_dev *camif = dev_get_drvdata(dev);
+       int ret;
+
+       ret = clk_enable(camif->clock[CLK_GATE]);
+       if (ret)
+               return ret;
 
-       clk_enable(camif->clock[CLK_GATE]);
        /* null op on s3c244x */
-       clk_enable(camif->clock[CLK_CAM]);
+       ret = clk_enable(camif->clock[CLK_CAM]);
+       if (ret) {
+               clk_disable(camif->clock[CLK_GATE]);
+               return ret;
+       }
+
        return 0;
 }