[PATCH] drivers: hwmon: fix device_node_continue.cocci warnings

Julia Lawall julia.lawall at lip6.fr
Tue Jan 10 16:48:02 AEDT 2017

Device node iterators put the previous value of the index variable, so an
explicit put causes a double put.

Generated by: scripts/coccinelle/iterators/device_node_continue.cocci

CC: Jaghathiswari Rankappagounder Natarajan <jaghu at google.com>
Signed-off-by: Julia Lawall <julia.lawall at lip6.fr>
Signed-off-by: Fengguang Wu <fengguang.wu at intel.com>

The patch would not be needed if aspeed_create_type etc perform a second
get, beyond the one in the iterator.

 aspeed-pwm-tacho.c |    3 ---
 1 file changed, 3 deletions(-)

--- a/drivers/hwmon/aspeed-pwm-tacho.c
+++ b/drivers/hwmon/aspeed-pwm-tacho.c
@@ -833,21 +833,18 @@ static int aspeed_pwm_tacho_probe(struct
 	type_np = of_get_child_by_name(np, "type_values");
 	for_each_child_of_node(type_np, child) {
 		aspeed_create_type(child, priv, type_index++);
-		of_node_put(child);
 	pwm_np = of_get_child_by_name(np, "pwm_port");
 	for_each_child_of_node(pwm_np, child) {
 		aspeed_create_pwm_port(child, priv, pwm_index++,
-		of_node_put(child);
 	fan_tach_np = of_get_child_by_name(np, "fan_tach_channel");
 	for_each_child_of_node(fan_tach_np, child) {
 		aspeed_create_fan_tach_channel(&pdev->dev, child, priv,
 					       fan_index++, group_index++);
-		of_node_put(child);

More information about the openbmc mailing list