Просмотр исходного кода

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>
Zhao Yakui 17 лет назад
Родитель
Сommit
f28bb45e28
1 измененных файлов с 6 добавлено и 4 удалено
  1. 6 4
      drivers/acpi/processor_core.c

+ 6 - 4
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);
 	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;
 	processors[pr->id] = NULL;