]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
hwmon: (w83627hf) remove VID sysfs files on error and remove
authorPengpeng Hou <pengpeng@iscas.ac.cn>
Mon, 15 Jun 2026 06:47:31 +0000 (14:47 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 29 Jun 2026 20:36:48 +0000 (13:36 -0700)
w83627hf_probe() creates cpu0_vid and vrm with device_create_file() when
VID information is available.

The error path and remove callback only remove the common and optional
attribute groups.  Those groups do not contain cpu0_vid or vrm, so the
files can remain after a later probe failure or after device removal
while their callbacks still expect live driver data.

Remove the standalone VID sysfs files from both the probe error path and
the remove callback.

Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20260615064732.48113-1-pengpeng@iscas.ac.cn
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/w83627hf.c

index 95115d7b863e37fbfe3b4a247ea282729f717588..bb993bb09f401c252f6063963a686b176b8370d4 100644 (file)
@@ -1823,6 +1823,8 @@ static int w83627hf_probe(struct platform_device *pdev)
        return 0;
 
  error:
+       device_remove_file(dev, &dev_attr_vrm);
+       device_remove_file(dev, &dev_attr_cpu0_vid);
        sysfs_remove_group(&dev->kobj, &w83627hf_group);
        sysfs_remove_group(&dev->kobj, &w83627hf_group_opt);
        return err;
@@ -1834,6 +1836,8 @@ static void w83627hf_remove(struct platform_device *pdev)
 
        hwmon_device_unregister(data->hwmon_dev);
 
+       device_remove_file(&pdev->dev, &dev_attr_vrm);
+       device_remove_file(&pdev->dev, &dev_attr_cpu0_vid);
        sysfs_remove_group(&pdev->dev.kobj, &w83627hf_group);
        sysfs_remove_group(&pdev->dev.kobj, &w83627hf_group_opt);
 }