media: omap3isp: Fix memleak in isp_probe
authorDinghao Liu <dinghao.liu@zju.edu.cn>
Mon, 24 Aug 2020 06:53:52 +0000 (08:53 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 10 Sep 2020 12:09:25 +0000 (14:09 +0200)
When devm_ioremap_resource() fails, isp should be
freed just like other error paths in isp_probe.

Fixes: 8644cdf972dd6 ("[media] omap3isp: Replace many MMIO regions by two")
Signed-off-by: Dinghao Liu <dinghao.liu@zju.edu.cn>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/platform/omap3isp/isp.c

index 74fa670..b1fc451 100644 (file)
@@ -2328,8 +2328,10 @@ static int isp_probe(struct platform_device *pdev)
                mem = platform_get_resource(pdev, IORESOURCE_MEM, i);
                isp->mmio_base[map_idx] =
                        devm_ioremap_resource(isp->dev, mem);
-               if (IS_ERR(isp->mmio_base[map_idx]))
-                       return PTR_ERR(isp->mmio_base[map_idx]);
+               if (IS_ERR(isp->mmio_base[map_idx])) {
+                       ret = PTR_ERR(isp->mmio_base[map_idx]);
+                       goto error;
+               }
        }
 
        ret = isp_get_clocks(isp);