* [PATCH v2] platform/x86: dell-laptop: fix missing cleanups in init error path
@ 2026-06-09 8:14 Haoxiang Li
2026-06-10 11:41 ` Ilpo Järvinen
0 siblings, 1 reply; 2+ messages in thread
From: Haoxiang Li @ 2026-06-09 8:14 UTC (permalink / raw)
To: mjg59, pali, hansg, ilpo.jarvinen, dvhart
Cc: platform-driver-x86, linux-kernel, Haoxiang Li, stable
dell_init() initializes several resources after dell_setup_rfkill(),
including the optional touchpad LED, keyboard backlight LED, battery
hook, debugfs directory and dell-laptop notifier.
If a later LED or backlight registration fails, the error path only
tears down the battery hook and rfkill resources. This leaves the
notifier, debugfs directory, keyboard backlight LED and optional
touchpad LED registered after dell_init() returns an error.
Add the missing cleanup calls before tearing down rfkill.
Fixes: 9c656b07997f ("platform/x86: dell-*: Call new led hw_changed API on kbd brightness change")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
Changes in v2:
- Fix all missing cleanups in dell_init()'s error path.
- Add Fixes tags.
- Modify the commit title and message.
---
drivers/platform/x86/dell/dell-laptop.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/platform/x86/dell/dell-laptop.c b/drivers/platform/x86/dell/dell-laptop.c
index 57748c3ea24f..053f40572bf6 100644
--- a/drivers/platform/x86/dell/dell-laptop.c
+++ b/drivers/platform/x86/dell/dell-laptop.c
@@ -2551,7 +2551,12 @@ static int __init dell_init(void)
if (mute_led_registered)
led_classdev_unregister(&mute_led_cdev);
fail_led:
+ dell_laptop_unregister_notifier(&dell_laptop_notifier);
+ debugfs_remove_recursive(dell_laptop_dir);
dell_battery_exit();
+ kbd_led_exit();
+ if (quirks && quirks->touchpad_led)
+ touchpad_led_exit();
dell_cleanup_rfkill();
fail_rfkill:
platform_device_del(platform_device);
--
2.25.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2] platform/x86: dell-laptop: fix missing cleanups in init error path
2026-06-09 8:14 [PATCH v2] platform/x86: dell-laptop: fix missing cleanups in init error path Haoxiang Li
@ 2026-06-10 11:41 ` Ilpo Järvinen
0 siblings, 0 replies; 2+ messages in thread
From: Ilpo Järvinen @ 2026-06-10 11:41 UTC (permalink / raw)
To: Haoxiang Li
Cc: mjg59, pali, Hans de Goede, dvhart, platform-driver-x86, LKML, stable
On Tue, 9 Jun 2026, Haoxiang Li wrote:
> dell_init() initializes several resources after dell_setup_rfkill(),
> including the optional touchpad LED, keyboard backlight LED, battery
> hook, debugfs directory and dell-laptop notifier.
>
> If a later LED or backlight registration fails, the error path only
> tears down the battery hook and rfkill resources. This leaves the
> notifier, debugfs directory, keyboard backlight LED and optional
> touchpad LED registered after dell_init() returns an error.
>
> Add the missing cleanup calls before tearing down rfkill.
>
> Fixes: 9c656b07997f ("platform/x86: dell-*: Call new led hw_changed API on kbd brightness change")
I've included also these:
Fixes: 037accfa14b2 ("dell-laptop: Add debugfs support")
Fixes: 2d8b90be4f1c ("dell-laptop: support Synaptics/Alps touchpad led")
Fixes: 6cff8d60aa0a ("platform: x86: dell-laptop: Add support for keyboard backlight")
Applied this change to my local the review-ilpo-next branch (it will
eventually appear in the public one if there are no problems).
--
i.
> Cc: stable@vger.kernel.org
> Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
> ---
> Changes in v2:
> - Fix all missing cleanups in dell_init()'s error path.
> - Add Fixes tags.
> - Modify the commit title and message.
> ---
> drivers/platform/x86/dell/dell-laptop.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/platform/x86/dell/dell-laptop.c b/drivers/platform/x86/dell/dell-laptop.c
> index 57748c3ea24f..053f40572bf6 100644
> --- a/drivers/platform/x86/dell/dell-laptop.c
> +++ b/drivers/platform/x86/dell/dell-laptop.c
> @@ -2551,7 +2551,12 @@ static int __init dell_init(void)
> if (mute_led_registered)
> led_classdev_unregister(&mute_led_cdev);
> fail_led:
> + dell_laptop_unregister_notifier(&dell_laptop_notifier);
> + debugfs_remove_recursive(dell_laptop_dir);
> dell_battery_exit();
> + kbd_led_exit();
> + if (quirks && quirks->touchpad_led)
> + touchpad_led_exit();
> dell_cleanup_rfkill();
> fail_rfkill:
> platform_device_del(platform_device);
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-10 11:41 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-09 8:14 [PATCH v2] platform/x86: dell-laptop: fix missing cleanups in init error path Haoxiang Li
2026-06-10 11:41 ` Ilpo Järvinen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®