power_supply: Add of_node_put to fix refcount
authorRhyland Klein <rklein@nvidia.com>
Mon, 10 Jun 2013 21:26:39 +0000 (17:26 -0400)
committerAnton Vorontsov <anton@enomsg.org>
Sat, 29 Jun 2013 01:20:54 +0000 (18:20 -0700)
of_parse_phandle increments the refcount for a dt node before returning
it. Add of_node_put where needed to properly decrement the refcount when
we are done using a given node.

Signed-off-by: Rhyland Klein <rklein@nvidia.com>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
drivers/power/power_supply_core.c

index 1c517c3..3b2d5df 100644 (file)
@@ -109,8 +109,10 @@ static int __power_supply_populate_supplied_from(struct device *dev,
                                psy->name, epsy->name);
                        psy->supplied_from[i-1] = (char *)epsy->name;
                        psy->num_supplies++;
+                       of_node_put(np);
                        break;
                }
+               of_node_put(np);
        } while (np);
 
        return 0;
@@ -193,8 +195,10 @@ static int power_supply_check_supplies(struct power_supply *psy)
                ret = power_supply_find_supply_from_node(np);
                if (ret) {
                        dev_dbg(psy->dev, "Failed to find supply, defer!\n");
+                       of_node_put(np);
                        return -EPROBE_DEFER;
                }
+               of_node_put(np);
        } while (np);
 
        /* All supplies found, allocate char ** array for filling */