]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86: dell-wmi-sysman: Fix class device unregistration
authorKurt Borja <kuurtb@gmail.com>
Mon, 7 Jul 2025 19:14:51 +0000 (15:14 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:49 +0000 (15:57 +0200)
[ 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

index ab639dc8a8072fe3e7aa0df8ba6198a81d80420c..ddde6e41d8f36ce4bb65756ff5b8ff3c10980e67 100644 (file)
@@ -605,7 +605,7 @@ err_release_attributes_data:
        release_attributes_data();
 
 err_destroy_classdev:
-       device_destroy(fw_attr_class, MKDEV(0, 0));
+       device_unregister(wmi_priv.class_dev);
 
 err_unregister_class:
        fw_attributes_class_put();
@@ -622,7 +622,7 @@ err_exit_bios_attr_set_interface:
 static void __exit sysman_exit(void)
 {
        release_attributes_data();
-       device_destroy(fw_attr_class, MKDEV(0, 0));
+       device_unregister(wmi_priv.class_dev);
        fw_attributes_class_put();
        exit_bios_attr_set_interface();
        exit_bios_attr_pass_interface();