Skip to contentSkip to conversation

cpuidle: big.LITTLE: add of_node_put()

PATCH Superseded Yangtao Li 2 participants 3 messages Nov 20, 2018

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Yangtao Li

author
#0 lore raw

PATCH v2 1/1 cpuidle: big.LITTLE: add of_node_put()

The of_node_put() is missing.So we call the of_node_put() to release the refcount.

---
Changes in v2
-update changelog
-do that right after its last use
to also cover error handling.

---
 drivers/cpuidle/cpuidle-big_little.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/cpuidle/cpuidle-big_little.c +5 -1
index db2ede565f1a..650f063ef809 100644
@@ -174,8 +174,12 @@ static int __init bl_idle_init(void)
 	/*
 	 * Initialize the driver just for a compliant set of machines
 	 */
-	if (!of_match_node(compatible_machine_match, root))
+	if (!of_match_node(compatible_machine_match, root)){
+		of_node_put(root);
 		return -ENODEV;
+	}
+
+	of_node_put(root);
 
 	if (!mcpm_is_available())
 		return -EUNATCH;
Signature · 1 line
2.17.0
#1 lore raw
Quoted 3 lines · Yangtao Li

The of_node_put() is missing.So we call the of_node_put() to release the refcount.

I would say "of_find_node_by_path() acquires a reference to the node returned by it and that reference needs to be dropped by its caller. bl_idle_init() doesn't do that, so fix it."

Thanks,
Rafael

author
#2 lore raw
Quoted 6 lines · Rafael J. Wysocki
Quoted 3 lines · Yangtao Li

The of_node_put() is missing.So we call the of_node_put() to release the refcount.

Quoted 6 lines

I would say "of_find_node_by_path() acquires a reference to the node returned by it and that reference needs to be dropped by its caller. bl_idle_init() doesn't do that, so fix it."

Thanks,
Rafael

Hi Rafael?

You are right, I will change it right away.

Yours?
Yangtao