aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_core.c
diff options
context:
space:
mode:
authorZhao Yakui <yakui.zhao@intel.com>2008-02-15 08:34:37 +0800
committerLen Brown <len.brown@intel.com>2008-02-15 18:23:50 -0500
commitf28bb45e2863173a7464d98907677e903f42c68b (patch)
tree060cb979e0ead9762805861d0fd17412068de42f /drivers/acpi/processor_core.c
parent101142c37be8e5af9b847860219217e6b958c739 (diff)
downloadlinux-f28bb45e2863173a7464d98907677e903f42c68b.tar.gz
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/processor_core.c')
-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 75ccf5d18bf4e..697335c8423e3 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)
acpi_processor_remove_fs(device);
- sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
- sysfs_remove_link(&pr->cdev->device.kobj, "device");
- thermal_cooling_device_unregister(pr->cdev);
- pr->cdev = NULL;
+ if (pr->cdev) {
+ sysfs_remove_link(&device->dev.kobj, "thermal_cooling");
+ sysfs_remove_link(&pr->cdev->device.kobj, "device");
+ thermal_cooling_device_unregister(pr->cdev);
+ pr->cdev = NULL;
+ }
processors[pr->id] = NULL;