| From f51041b4324faf00b834e7e91d0223df916e9425 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 25 Jun 2025 22:17:37 -0300 |
| Subject: platform/x86: dell-wmi-sysman: Fix class device unregistration |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Kurt Borja <kuurtb@gmail.com> |
| |
| [ Upstream commit 314e5ad4782d08858b3abc325c0487bd2abc23a1 ] |
| |
| Devices under the firmware_attributes_class do not have unique a dev_t. |
| Therefore, device_unregister() should be used instead of |
| device_destroy(), since the latter may match any device with a given |
| dev_t. |
| |
| Fixes: e8a60aa7404b ("platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems") |
| Signed-off-by: Kurt Borja <kuurtb@gmail.com> |
| Link: https://lore.kernel.org/r/20250625-dest-fix-v1-3-3a0f342312bb@gmail.com |
| Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
| Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c |
| index 3c74d5e8350a4..f5402b7146572 100644 |
| --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c |
| +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c |
| @@ -597,7 +597,7 @@ static int __init sysman_init(void) |
| release_attributes_data(); |
| |
| err_destroy_classdev: |
| - device_destroy(&firmware_attributes_class, MKDEV(0, 0)); |
| + device_unregister(wmi_priv.class_dev); |
| |
| err_exit_bios_attr_pass_interface: |
| exit_bios_attr_pass_interface(); |
| @@ -611,7 +611,7 @@ static int __init sysman_init(void) |
| static void __exit sysman_exit(void) |
| { |
| release_attributes_data(); |
| - device_destroy(&firmware_attributes_class, MKDEV(0, 0)); |
| + device_unregister(wmi_priv.class_dev); |
| exit_bios_attr_set_interface(); |
| exit_bios_attr_pass_interface(); |
| } |
| -- |
| 2.39.5 |
| |