Warn user about a BIOS bug in recent asus boards Do copy passive devices only if they are valid. Signed-off-by: Thomas Renninger <trenn@xxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> --- drivers/acpi/thermal.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) Index: linux-2.6.24/drivers/acpi/thermal.c =================================================================== --- linux-2.6.24.orig/drivers/acpi/thermal.c +++ linux-2.6.24/drivers/acpi/thermal.c @@ -440,16 +440,18 @@ static int acpi_thermal_trips_update(str memset(&devices, 0, sizeof(struct acpi_handle_list)); status = acpi_evaluate_reference(tz->device->handle, "_PSL", NULL, &devices); - if (ACPI_FAILURE(status)) - tz->trips.passive.flags.valid = 0; - else + if (ACPI_SUCCESS(status)) { tz->trips.passive.flags.valid = 1; - - if (memcmp(&tz->trips.passive.devices, &devices, - sizeof(struct acpi_handle_list))) { - memcpy(&tz->trips.passive.devices, &devices, - sizeof(struct acpi_handle_list)); - ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device"); + if (memcmp(&tz->trips.passive.devices, &devices, + sizeof(struct acpi_handle_list))) { + memcpy(&tz->trips.passive.devices, &devices, + sizeof(struct acpi_handle_list)); + ACPI_THERMAL_TRIPS_EXCEPTION(flag, "device"); + } + } else { + tz->trips.passive.flags.valid = 0; + ACPI_EXCEPTION((AE_INFO, status, "Invalid passiv trip" + " point\n")); } } if ((flag & ACPI_TRIPS_PASSIVE) || (flag & ACPI_TRIPS_DEVICES)) { -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html