diff options
author | Zhao Yakui <yakui.zhao@intel.com> | 2008-02-15 08:34:37 +0800 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-02-15 18:23:50 -0500 |
commit | f28bb45e2863173a7464d98907677e903f42c68b (patch) | |
tree | 060cb979e0ead9762805861d0fd17412068de42f /drivers/acpi/processor_core.c | |
parent | 101142c37be8e5af9b847860219217e6b958c739 (diff) | |
download | kernel_samsung_smdk4412-f28bb45e2863173a7464d98907677e903f42c68b.zip kernel_samsung_smdk4412-f28bb45e2863173a7464d98907677e903f42c68b.tar.gz kernel_samsung_smdk4412-f28bb45e2863173a7464d98907677e903f42c68b.tar.bz2 |
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.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c index 75ccf5d..697335c 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; |