From: sashiko-bot@kernel.org
To: "Manuel Fombuena" <fombuena@outlook.com>
Cc: linux-leds@vger.kernel.org, lee@kernel.org
Subject: Re: [PATCH v2 08/13] leds: st1202: Take a reference on the LED firmware node
Date: Tue, 15 Sep 2026 12:55:45 +0000 [thread overview]
Message-ID: <20260915125545.C3D211F00898@smtp.kernel.org> (raw)
In-Reply-To: <GV1PR08MB849710C564F23C21BDA3EA41C5BA2@GV1PR08MB8497.eurprd08.prod.outlook.com>
> st1202_dt_init() stores each LED's firmware node while walking the
> device tree with for_each_available_child_of_node_scoped(), which drops
> its reference to the node at the end of every iteration. The LED class
> stores the pointer with device_set_node() and does not take a reference
> of its own, so nothing keeps the node alive for as long as the LED
> device uses it. That has been the case since the driver was added, when
> the LED class devices were registered inside that same loop.
>
> Commit c72e455b89f2 ("leds: leds-st1202: Fix NULL pointer access on race
> condition") moved the registration into a separate loop in
> st1202_probe(), which also leaves the stored pointer unreferenced
> between the two loops.
>
> With CONFIG_OF_DYNAMIC the node can be freed while it is still in use,
> leaving led->fwnode and the LED device's firmware node dangling.
>
> Take a reference when the node is stored and release it through a devm
> action. The action is registered before the LED class devices are, so it
> runs after they have been unregistered.
>
> Fixes: 259230378c65 ("leds: Add LED1202 I2C driver")
> Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
Sashiko has reviewed this patch and found no issues. It looks great!
--
Sashiko AI review · https://sashiko.dev/#/patchset/GV1PR08MB8497668D389D43F680D2CE3CC5BA2@GV1PR08MB8497.eurprd08.prod.outlook.com?part=8
next prev parent reply other threads:[~2026-09-15 12:55 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-15 12:40 [PATCH v2 00/13] leds: st1202: Naming cleanups and pre-existing fixes Manuel Fombuena
2026-09-15 12:42 ` [PATCH v2 01/13] leds: st1202: Correct the name of the prescaler conversion helper Manuel Fombuena
2026-09-15 12:56 ` sashiko-bot
2026-09-15 12:42 ` [PATCH v2 02/13] leds: st1202: Spell out the phase-shift configuration bit Manuel Fombuena
2026-09-15 12:57 ` sashiko-bot
2026-09-15 12:43 ` [PATCH v2 03/13] leds: st1202: Name pattern index variables consistently Manuel Fombuena
2026-09-15 12:54 ` sashiko-bot
2026-09-15 12:43 ` [PATCH v2 04/13] leds: st1202: Use u8 consistently for 8-bit values Manuel Fombuena
2026-09-15 12:56 ` sashiko-bot
2026-09-15 12:44 ` [PATCH v2 05/13] leds: st1202: Clear unused pattern slots in pattern_set() Manuel Fombuena
2026-09-15 12:55 ` sashiko-bot
2026-09-15 12:45 ` [PATCH v2 06/13] leds: st1202: Scale pattern brightness to the 12-bit PWM range Manuel Fombuena
2026-09-15 12:56 ` sashiko-bot
2026-09-15 12:45 ` [PATCH v2 07/13] leds: st1202: Program the channel current for hardware patterns Manuel Fombuena
2026-09-15 12:59 ` sashiko-bot
2026-09-15 12:46 ` [PATCH v2 08/13] leds: st1202: Take a reference on the LED firmware node Manuel Fombuena
2026-09-15 12:55 ` sashiko-bot [this message]
2026-09-15 12:46 ` [PATCH v2 09/13] leds: st1202: Do not set brightness from atomic context Manuel Fombuena
2026-09-15 12:55 ` sashiko-bot
2026-09-15 12:47 ` [PATCH v2 10/13] leds: st1202: Clear unused pattern slots in blink_set() Manuel Fombuena
2026-09-15 13:01 ` sashiko-bot
2026-09-15 12:47 ` [PATCH v2 11/13] leds: st1202: Honour max_brightness when blinking Manuel Fombuena
2026-09-15 13:01 ` sashiko-bot
2026-09-15 12:48 ` [PATCH v2 12/13] leds: st1202: Cap the channel current in st1202_led_set() Manuel Fombuena
2026-09-15 13:06 ` sashiko-bot
2026-09-15 13:23 ` Manuel Fombuena
2026-09-15 12:48 ` [PATCH v2 13/13] leds: st1202: Give the channel current ceiling a single helper Manuel Fombuena
2026-09-15 13:00 ` sashiko-bot
2026-09-16 9:21 ` [PATCH v2 00/13] leds: st1202: Naming cleanups and pre-existing fixes Manuel Fombuena
2026-09-22 13:26 ` Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260915125545.C3D211F00898@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=fombuena@outlook.com \
--cc=lee@kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.