Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59b31535 authored by Miaoqian Lin's avatar Miaoqian Lin Committed by Greg Kroah-Hartman
Browse files

media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init



[ Upstream commit 1c78f19c3a0ea312a8178a6bfd8934eb93e9b10a ]

of_get_child_by_name() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: df330515 ("[media] v4l: xilinx: Add Xilinx Video IP core")
Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 80a955da
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -472,7 +472,7 @@ static int xvip_graph_dma_init(struct xvip_composite_device *xdev)
{
	struct device_node *ports;
	struct device_node *port;
	int ret;
	int ret = 0;

	ports = of_get_child_by_name(xdev->dev->of_node, "ports");
	if (ports == NULL) {
@@ -482,13 +482,14 @@ static int xvip_graph_dma_init(struct xvip_composite_device *xdev)

	for_each_child_of_node(ports, port) {
		ret = xvip_graph_dma_init_one(xdev, port);
		if (ret < 0) {
		if (ret) {
			of_node_put(port);
			return ret;
			break;
		}
	}

	return 0;
	of_node_put(ports);
	return ret;
}

static void xvip_graph_cleanup(struct xvip_composite_device *xdev)