[PATCH] PM / devfreq: event: Call of_node_put() only once in devfreq_event_get_edev_by_phandle()

Markus Elfring posted 1 patch 1 month, 3 weeks ago
drivers/devfreq/devfreq-event.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
[PATCH] PM / devfreq: event: Call of_node_put() only once in devfreq_event_get_edev_by_phandle()
Posted by Markus Elfring 1 month, 3 weeks ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Thu, 3 Oct 2024 11:01:30 +0200

An of_node_put(node) call was immediately used after a null pointer check
for the local variable “edev” at the end of 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/devfreq/devfreq-event.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/devfreq/devfreq-event.c b/drivers/devfreq/devfreq-event.c
index 3ebac2496679..70219099c604 100644
--- a/drivers/devfreq/devfreq-event.c
+++ b/drivers/devfreq/devfreq-event.c
@@ -244,13 +244,9 @@ struct devfreq_event_dev *devfreq_event_get_edev_by_phandle(struct device *dev,
 	edev = NULL;
 out:
 	mutex_unlock(&devfreq_event_list_lock);
-
-	if (!edev) {
-		of_node_put(node);
-		return ERR_PTR(-ENODEV);
-	}
-
 	of_node_put(node);
+	if (!edev)
+		return ERR_PTR(-ENODEV);

 	return edev;
 }
--
2.46.1