The fwnode_graph_get_next_endpoint() returns an 'endpoint' node pointer
with refcount incremented, and refcount of the passed as a previous
'endpoint' node is decremented.

So when iterating over all nodes using fwnode_graph_get_next_endpoint(),
we don't need to call fwnode_handle_put() for each node except for error
exit paths.  Otherwise we get "OF: ERROR: Bad of_node_put() on ..."
messages.

Fixes: d079f94c9046 ("media: platform: Switch to 
v4l2_async_notifier_add_subdev")
Cc: Steve Longerbeam <slongerb...@gmail.com>
Cc: Hyun Kwon <hyun.k...@xilinx.com>
Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com>
Cc: Mauro Carvalho Chehab <mche...@kernel.org>
Signed-off-by: Akinobu Mita <akinobu.m...@gmail.com>
---
 drivers/media/platform/xilinx/xilinx-vipp.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c 
b/drivers/media/platform/xilinx/xilinx-vipp.c
index 574614d..26b13fd 100644
--- a/drivers/media/platform/xilinx/xilinx-vipp.c
+++ b/drivers/media/platform/xilinx/xilinx-vipp.c
@@ -377,8 +377,6 @@ static int xvip_graph_parse_one(struct 
xvip_composite_device *xdev,
                        goto err_notifier_cleanup;
                }
 
-               fwnode_handle_put(ep);
-
                /* Skip entities that we have already processed. */
                if (remote == of_fwnode_handle(xdev->dev->of_node) ||
                    xvip_graph_find_entity(xdev, remote)) {
-- 
2.7.4

Reply via email to