Re: [PATCH v4 6/8] backlight: led-backlight: add devlink to supplier LEDs
From: "Sverdlin, Alexander" <alexander.sverdlin@siemens.com>
Date: 2025-05-12 12:13:57
Also in:
dri-devel, lkml
Hi Luca, On Mon, 2025-05-12 at 13:39 +0200, Alexander Sverdlin wrote:
quoted
led-backlight is a consumer of one or multiple LED class devices, but no devlink is created for such supplier-producer relationship. One consequence is that removal ordered is not correctly enforced. Issues happen for example with the following sections in a device tree overlay: // An LED driver chip pca9632@62 { compatible = "nxp,pca9632"; reg = <0x62>; // ... addon_led_pwm: led-pwm@3 { reg = <3>; label = "addon:led:pwm"; }; }; backlight-addon { compatible = "led-backlight"; leds = <&addon_led_pwm>; brightness-levels = <255>; default-brightness-level = <255>; }; On removal of the above overlay, the LED driver can be removed before the backlight device, resulting in: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010 ... Call trace: led_put+0xe0/0x140 devm_led_release+0x6c/0x98 Fix by adding a devlink between the consuming led-backlight device and the supplying LED device. Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>I've tested the patch wit LP8864 LED as a provider for led_bl, removing the underlying I2C bus. The patch avoids the crash for me (by removing led_bl device as well), thanks for fixing it! Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Would it make sense to add
Fixes: ae232e45acf9 ("backlight: add led-backlight driver")
?
--
Alexander Sverdlin
Siemens AG
www.siemens.com