Skip to content

Commit

Permalink
x86/hwmon: don't leak device attribute file from pkgtemp_probe() and …
Browse files Browse the repository at this point in the history
…pkgtemp_remove()

While apparently inherited from coretemp source, this particular error handling
cleanup and exit path wasn't copied properly (or perhaps got discarded
intermediately and not re-added properly later).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
(added device file removal in pkgtemp_remove)
  • Loading branch information
Jan Beulich authored and Guenter Roeck committed Sep 24, 2010
1 parent d9bca43 commit d172132
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/hwmon/pkgtemp.c
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ static int __devinit pkgtemp_probe(struct platform_device *pdev)

err = sysfs_create_group(&pdev->dev.kobj, &pkgtemp_group);
if (err)
goto exit_free;
goto exit_dev;

data->hwmon_dev = hwmon_device_register(&pdev->dev);
if (IS_ERR(data->hwmon_dev)) {
Expand All @@ -238,6 +238,8 @@ static int __devinit pkgtemp_probe(struct platform_device *pdev)

exit_class:
sysfs_remove_group(&pdev->dev.kobj, &pkgtemp_group);
exit_dev:
device_remove_file(&pdev->dev, &sensor_dev_attr_temp1_max.dev_attr);
exit_free:
kfree(data);
exit:
Expand All @@ -250,6 +252,7 @@ static int __devexit pkgtemp_remove(struct platform_device *pdev)

hwmon_device_unregister(data->hwmon_dev);
sysfs_remove_group(&pdev->dev.kobj, &pkgtemp_group);
device_remove_file(&pdev->dev, &sensor_dev_attr_temp1_max.dev_attr);
platform_set_drvdata(pdev, NULL);
kfree(data);
return 0;
Expand Down

0 comments on commit d172132

Please sign in to comment.