| From 95eaa68d17ec68ef4169197db72eaf5fc066ebf5 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 4 Jun 2024 17:02:15 +0200 |
| Subject: auxdisplay: ht16k33: Drop reference after LED registration |
| |
| From: Markus Elfring <elfring@users.sourceforge.net> |
| |
| [ Upstream commit 2ccfe94bc3ac980d2d1df9f7a0b2c6d2137abe55 ] |
| |
| The reference count is bumped by device_get_named_child_node() |
| and never dropped. Since LED APIs do not require it to be |
| bumped by the user, drop the reference after LED registration. |
| |
| [andy: rewritten the commit message and amended the change] |
| |
| Fixes: c223d9c636ed ("auxdisplay: ht16k33: Add LED support") |
| Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> |
| Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/auxdisplay/ht16k33.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c |
| index 02425991c1590..57b4efff344e3 100644 |
| --- a/drivers/auxdisplay/ht16k33.c |
| +++ b/drivers/auxdisplay/ht16k33.c |
| @@ -507,6 +507,7 @@ 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); |
| + fwnode_handle_put(init_data.fwnode); |
| if (err) |
| dev_err(dev, "Failed to register LED\n"); |
| |
| -- |
| 2.43.0 |
| |