Browse Source

regulator: of: Add a missing 'of_node_put()' in an error handling path of 'of_regulator_match()'

If an unlikely failure in 'of_get_regulator_init_data()' occurs, we must
release the reference on the current 'child' node before returning.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Mark Brown <broonie@kernel.org>
Christophe JAILLET 7 years ago
parent
commit
30966861a7
1 changed files with 1 additions and 0 deletions
  1. 1 0
      drivers/regulator/of_regulator.c

+ 1 - 0
drivers/regulator/of_regulator.c

@@ -321,6 +321,7 @@ int of_regulator_match(struct device *dev, struct device_node *node,
 				dev_err(dev,
 					"failed to parse DT for regulator %s\n",
 					child->name);
+				of_node_put(child);
 				return -EINVAL;
 			}
 			match->of_node = of_node_get(child);