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: Liviu Dudau <Liviu.Dudau@arm.com>
Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
This commit is contained in:
committed by
Sudeep Holla
parent
36f90b0a2d
commit
d99875eebf
@@ -192,8 +192,10 @@ 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;
|
||||
|
||||
Reference in New Issue
Block a user