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

Commit d99875ee authored by Amitoj Kaur Chawla's avatar Amitoj Kaur Chawla Committed by Sudeep Holla
Browse files

bus: vexpress-config: Add missing of_node_put



for_each_compatible_node performs an of_node_get on each iteration, so
to break out of the loop an of_node_put is required.

Found using Coccinelle. The semantic patch used for this is as follows:

// <smpl>
@@
expression e;
local idexpression n;
@@

 for_each_compatible_node(n, ...) {
   ... when != of_node_put(n)
       when != e = n
(
   return n;
+  of_node_put(n);
?  return ...;
)
   ...
 }
// </smpl>

Acked-by: default avatarLiviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: default avatarAmitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent 36f90b0a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -192,9 +192,11 @@ static int __init vexpress_config_init(void)
	/* Need the config devices early, before the "normal" devices... */
	for_each_compatible_node(node, NULL, "arm,vexpress,config-bus") {
		err = vexpress_config_populate(node);
		if (err)
		if (err) {
			of_node_put(node);
			break;
		}
	}

	return err;
}