Commit 02f58f97 authored by Javier Carrasco's avatar Javier Carrasco Committed by Lee Jones
Browse files

leds: max5970: Fix unreleased fwnode_handle in probe function



An object initialized via device_get_named_child_node() requires calls
to fwnode_handle_put() when it is no longer required to avoid leaking
memory.

Add the automatic cleanup facility for 'led_node' to ensure that
fwnode_handle_put() is called in all execution paths.

Fixes: 736214b4 ("leds: max5970: Add support for max5970")
Signed-off-by: default avatarJavier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20241031-max5970-of_node_put-v2-1-0ffe1f1d3bc9@gmail.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 32360bf6
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ static int max5970_led_set_brightness(struct led_classdev *cdev,

static int max5970_led_probe(struct platform_device *pdev)
{
	struct fwnode_handle *led_node, *child;
	struct fwnode_handle *child;
	struct device *dev = &pdev->dev;
	struct regmap *regmap;
	struct max5970_led *ddata;
@@ -55,7 +55,8 @@ static int max5970_led_probe(struct platform_device *pdev)
	if (!regmap)
		return -ENODEV;

	led_node = device_get_named_child_node(dev->parent, "leds");
	struct fwnode_handle *led_node __free(fwnode_handle) =
		device_get_named_child_node(dev->parent, "leds");
	if (!led_node)
		return -ENODEV;