ACPI / thermal: Add check of "_TZD" availability and evaluating result
Some machines don't provide _TZD, so check the availability of it before carrying out futher operations. If _TZD is present, also check the result of its evaluation. [rjw: Changelog] Signed-off-by: Lan Tianyu <tianyu.lan@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
7702ae0dd9
commit
668e020044
|
@ -485,14 +485,14 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag)
|
|||
break;
|
||||
}
|
||||
|
||||
if (flag & ACPI_TRIPS_DEVICES) {
|
||||
memset(&devices, 0, sizeof(struct acpi_handle_list));
|
||||
if ((flag & ACPI_TRIPS_DEVICES)
|
||||
&& acpi_has_method(tz->device->handle, "_TZD")) {
|
||||
memset(&devices, 0, sizeof(devices));
|
||||
status = acpi_evaluate_reference(tz->device->handle, "_TZD",
|
||||
NULL, &devices);
|
||||
if (memcmp(&tz->devices, &devices,
|
||||
sizeof(struct acpi_handle_list))) {
|
||||
memcpy(&tz->devices, &devices,
|
||||
sizeof(struct acpi_handle_list));
|
||||
if (ACPI_SUCCESS(status)
|
||||
&& memcmp(&tz->devices, &devices, sizeof(devices))) {
|
||||
tz->devices = devices;
|
||||
ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue