[PATCH] soc: amlogic: canvas: Call of_node_put(canvas_node) only once in meson_canvas_get()

Markus Elfring posted 1 patch 2 months ago
drivers/soc/amlogic/meson-canvas.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
[PATCH] soc: amlogic: canvas: Call of_node_put(canvas_node) only once in meson_canvas_get()
Posted by Markus Elfring 2 months ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 24 Sep 2024 19:01:58 +0200

An of_node_put(canvas_node) call was immediately used after a pointer check
for a of_find_device_by_node() call in this function implementation.
Thus call such a function only once instead directly before the check.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 drivers/soc/amlogic/meson-canvas.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/soc/amlogic/meson-canvas.c b/drivers/soc/amlogic/meson-canvas.c
index b6e06c4d2117..245157053ed3 100644
--- a/drivers/soc/amlogic/meson-canvas.c
+++ b/drivers/soc/amlogic/meson-canvas.c
@@ -60,12 +60,9 @@ struct meson_canvas *meson_canvas_get(struct device *dev)
 		return ERR_PTR(-ENODEV);

 	canvas_pdev = of_find_device_by_node(canvas_node);
-	if (!canvas_pdev) {
-		of_node_put(canvas_node);
-		return ERR_PTR(-EPROBE_DEFER);
-	}
-
 	of_node_put(canvas_node);
+	if (!canvas_pdev)
+		return ERR_PTR(-EPROBE_DEFER);

 	/*
 	 * If priv is NULL, it's probably because the canvas hasn't
--
2.46.1