media: raspberrypi: Do some cleanup in probe()
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 23 Oct 2024 08:30:55 +0000 (11:30 +0300)
committerHans Verkuil <hverkuil@xs4all.nl>
Thu, 7 Nov 2024 08:05:57 +0000 (09:05 +0100)
If devm_clk_get() fails then we need to free "cfe" before returning.

Fixes: 6edb685abb2a ("media: raspberrypi: Add support for RP1-CFE")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
drivers/media/platform/raspberrypi/rp1-cfe/cfe.c

index ac28089564b2c67546221c552719e75c2774a1ac..4800d9a2668a6b7728e7c46cbb6632ee307c4150 100644 (file)
@@ -2342,9 +2342,11 @@ static int cfe_probe(struct platform_device *pdev)
 
        /* TODO: Enable clock only when running. */
        cfe->clk = devm_clk_get(&pdev->dev, NULL);
-       if (IS_ERR(cfe->clk))
-               return dev_err_probe(&pdev->dev, PTR_ERR(cfe->clk),
-                                    "clock not found\n");
+       if (IS_ERR(cfe->clk)) {
+               ret = dev_err_probe(&pdev->dev, PTR_ERR(cfe->clk),
+                                   "clock not found\n");
+               goto err_cfe_put;
+       }
 
        cfe->mdev.dev = &pdev->dev;
        cfe->mdev.ops = &cfe_media_device_ops;