aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2008-02-14 19:34:37 -0500
committerLen Brown <len.brown@intel.com>2008-02-15 18:23:50 -0500
commitf28bb45e2863173a7464d98907677e903f42c68b (patch)
tree060cb979e0ead9762805861d0fd17412068de42f /drivers/acpi
parent101142c37be8e5af9b847860219217e6b958c739 (diff)
ACPI: thermal: Check whether cooling device exists before unregistering
OS should check whether the cooling device exists before it is unregistered. If it doesn't exists, it is unnecessary to remove the sysfs link and call the function of thermal_cooling_device_unregister. http://bugzilla.kernel.org/show_bug.cgi?id=9982 Signed-off-by: Zhao Yakui <yakui.zhao@intel.com> Tested-by : Dhaval Giani <dhaval@linux.vnet.ibm.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/processor_core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index 75ccf5d18bf4..697335c8423e 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -809,10 +809,12 @@ static int acpi_processor_remove(struct acpi_device *device, int type)
809 809
810 acpi_processor_remove_fs(device); 810 acpi_processor_remove_fs(device);
811 811
812 sysfs_remove_link(&device->dev.kobj, "thermal_cooling"); 812 if (pr->cdev) {
813 sysfs_remove_link(&pr->cdev->device.kobj, "device"); 813 sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
814 thermal_cooling_device_unregister(pr->cdev); 814 sysfs_remove_link(&pr->cdev->device.kobj, "device");
815 pr->cdev = NULL; 815 thermal_cooling_device_unregister(pr->cdev);
816 pr->cdev = NULL;
817 }
816 818
817 processors[pr->id] = NULL; 819 processors[pr->id] = NULL;
818 820