media: exynos4-is: Add missing of_node_put to fix reference leaks
authorKrzysztof Kozlowski <krzk@kernel.org>
Sun, 5 May 2019 15:11:09 +0000 (11:11 -0400)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Fri, 24 May 2019 13:02:08 +0000 (09:02 -0400)
Drop the reference to "parallel-ports" and remote endpoint's parent
nodes obtained previously with of_get_child_by_name() and
of_get_parent() respectively.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/platform/exynos4-is/media-dev.c

index 463f2d8..d1d5041 100644 (file)
@@ -449,6 +449,7 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
                pd->fimc_bus_type = FIMC_BUS_TYPE_ISP_WRITEBACK;
        else
                pd->fimc_bus_type = pd->sensor_bus_type;
+       of_node_put(np);
 
        if (WARN_ON(index >= ARRAY_SIZE(fmd->sensor))) {
                of_node_put(rem);
@@ -474,7 +475,8 @@ static int fimc_md_parse_port_node(struct fimc_md *fmd,
 static int fimc_md_register_sensor_entities(struct fimc_md *fmd)
 {
        struct device_node *parent = fmd->pdev->dev.of_node;
-       struct device_node *node, *ports;
+       struct device_node *ports = NULL;
+       struct device_node *node;
        int index = 0;
        int ret;
 
@@ -523,12 +525,14 @@ static int fimc_md_register_sensor_entities(struct fimc_md *fmd)
                }
                index++;
        }
+       of_node_put(ports);
 
 rpm_put:
        pm_runtime_put(fmd->pmf);
        return 0;
 
 cleanup:
+       of_node_put(ports);
        v4l2_async_notifier_cleanup(&fmd->subdev_notifier);
        pm_runtime_put(fmd->pmf);
        return ret;