diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index d98ff69303b3..f74d81abdbfc 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -702,9 +702,9 @@ unregister_tzd: static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz) { + thermal_zone_device_disable(tz->thermal_zone); acpi_thermal_zone_sysfs_remove(tz); thermal_zone_device_unregister(tz->thermal_zone); - kfree(tz->trip_table); tz->thermal_zone = NULL; } @@ -967,7 +967,7 @@ static void acpi_thermal_remove(struct acpi_device *device) flush_workqueue(acpi_thermal_pm_queue); acpi_thermal_unregister_thermal_zone(tz); - + kfree(tz->trip_table); acpi_thermal_free_thermal_zone(tz); }