]> 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:46:55 +0000 (12:46 +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 422fd549e9c87036cb905614fc37a14e4868f894..aa2427cb2e63b08953290b6d21a8fcff846122c6 100644 (file)
@@ -529,10 +529,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;
 }