regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
[ Upstream commit afaa7b933ef00a2d3262f4d1252087613fb5c06d ]
of_node_get() returns a node with refcount incremented.
Calling of_node_put() to drop the reference when not needed anymore.
Fixes: 3784b6d64d
("regulator: pfuze100: add pfuze100 regulator driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220511113506.45185-1-linmq006@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
2a0da7641e
commit
9f564e29a5
@@ -531,6 +531,7 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip)
|
|||||||
parent = of_get_child_by_name(np, "regulators");
|
parent = of_get_child_by_name(np, "regulators");
|
||||||
if (!parent) {
|
if (!parent) {
|
||||||
dev_err(dev, "regulators node not found\n");
|
dev_err(dev, "regulators node not found\n");
|
||||||
|
of_node_put(np);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -560,6 +561,7 @@ static int pfuze_parse_regulators_dt(struct pfuze_chip *chip)
|
|||||||
}
|
}
|
||||||
|
|
||||||
of_node_put(parent);
|
of_node_put(parent);
|
||||||
|
of_node_put(np);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(dev, "Error parsing regulator init data: %d\n",
|
dev_err(dev, "Error parsing regulator init data: %d\n",
|
||||||
ret);
|
ret);
|
||||||
|
Reference in New Issue
Block a user