In one of the error paths of the for_each_child_of_node loop in
tlc591xx_probe, add missing call to of_node_put.

Fixes: 1ab4531ad132 ("leds: tlc591xx: simplify driver by using the managed led 
API")
Signed-off-by: Tobias Jordan <ker...@cdqe.de>
Reviewed-by: Marek BehĂșn <ka...@kernel.org>

---
v3: removed linebreak from Fixes: tag in commit message
v2: rebased to Pavel's for-next branch

 drivers/leds/leds-tlc591xx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/leds/leds-tlc591xx.c b/drivers/leds/leds-tlc591xx.c
index 0929f1275814..a8cc49752cd5 100644
--- a/drivers/leds/leds-tlc591xx.c
+++ b/drivers/leds/leds-tlc591xx.c
@@ -214,6 +214,7 @@ tlc591xx_probe(struct i2c_client *client,
                err = devm_led_classdev_register_ext(dev, &led->ldev,
                                                     &init_data);
                if (err < 0) {
+                       of_node_put(child);
                        if (err != -EPROBE_DEFER)
                                dev_err(dev, "couldn't register LED %s\n",
                                        led->ldev.name);
-- 
2.20.1

Reply via email to