leds: lp50xx: Put fwnode in error case during ->probe()
[ Upstream commitf1e1d532da] fwnode_for_each_child_node() bumps a reference counting of a returned variable. We have to balance it whenever we return to the caller. OTOH, the successful iteration will drop reference count under the hood, no need to do it twice. Fixes:242b81170f("leds: lp50xx: Add the LP50XX family of the RGB LED driver") Cc: Dan Murphy <dmurphy@ti.com> Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5f7bda9ba8
commit
0b2f741113
@@ -496,6 +496,7 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
|
||||
ret = fwnode_property_read_u32(led_node, "color",
|
||||
&color_id);
|
||||
if (ret) {
|
||||
fwnode_handle_put(led_node);
|
||||
dev_err(priv->dev, "Cannot read color\n");
|
||||
goto child_out;
|
||||
}
|
||||
@@ -519,7 +520,6 @@ static int lp50xx_probe_dt(struct lp50xx *priv)
|
||||
goto child_out;
|
||||
}
|
||||
i++;
|
||||
fwnode_handle_put(child);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user