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 <ja...@google.com>
Signed-off-by: Julia Lawall <julia.law...@lip6.fr>
Signed-off-by: Fengguang Wu <fengguang...@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);
        }
        of_node_put(type_np);
        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++,
                                       group_index++);
-               of_node_put(child);
        }
        of_node_put(pwm_np);
        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);
        }
        of_node_put(fan_tach_np);
        of_node_put(np);
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to