[PATCH] auxdisplay: ht16k33: Drop device node reference after registration failure in ht16k33_led_probe()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 4 Jun 2024 17:02:15 +0200

A failed call of the function “devm_led_classdev_register_ext”
can be reported.
Add a call of the function “fwnode_handle_put” for this error case.

Fixes: c223d9c636ed ("auxdisplay: ht16k33: Add LED support")
Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
 drivers/auxdisplay/ht16k33.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c
index ce987944662c..ef86537c9d83 100644
--- a/drivers/auxdisplay/ht16k33.c
+++ b/drivers/auxdisplay/ht16k33.c
@@ -483,8 +483,10 @@ static int ht16k33_led_probe(struct device *dev, struct led_classdev *led,
 	led->max_brightness = MAX_BRIGHTNESS;

 	err = devm_led_classdev_register_ext(dev, led, &init_data);
-	if (err)
+	if (err) {
 		dev_err(dev, "Failed to register LED\n");
+		fwnode_handle_put(init_data.fwnode);
+	}

 	return err;
 }
--
2.45.1






[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux