diff options
-rw-r--r-- | drivers/acpi/thermal.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 9073ada88835..77b8e1eaa717 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c | |||
@@ -368,7 +368,7 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag) | |||
368 | int valid = 0; | 368 | int valid = 0; |
369 | int i; | 369 | int i; |
370 | 370 | ||
371 | /* Critical Shutdown (required) */ | 371 | /* Critical Shutdown */ |
372 | if (flag & ACPI_TRIPS_CRITICAL) { | 372 | if (flag & ACPI_TRIPS_CRITICAL) { |
373 | status = acpi_evaluate_integer(tz->device->handle, | 373 | status = acpi_evaluate_integer(tz->device->handle, |
374 | "_CRT", NULL, &tmp); | 374 | "_CRT", NULL, &tmp); |
@@ -379,17 +379,19 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag) | |||
379 | * Below zero (Celsius) values clearly aren't right for sure.. | 379 | * Below zero (Celsius) values clearly aren't right for sure.. |
380 | * ... so lets discard those as invalid. | 380 | * ... so lets discard those as invalid. |
381 | */ | 381 | */ |
382 | if (ACPI_FAILURE(status) || | 382 | if (ACPI_FAILURE(status)) { |
383 | tz->trips.critical.temperature <= 2732) { | 383 | tz->trips.critical.flags.valid = 0; |
384 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | ||
385 | "No critical threshold\n")); | ||
386 | } else if (tmp <= 2732) { | ||
387 | printk(KERN_WARNING FW_BUG "Invalid critical threshold " | ||
388 | "(%llu)\n", tmp); | ||
384 | tz->trips.critical.flags.valid = 0; | 389 | tz->trips.critical.flags.valid = 0; |
385 | ACPI_EXCEPTION((AE_INFO, status, | ||
386 | "No or invalid critical threshold")); | ||
387 | return -ENODEV; | ||
388 | } else { | 390 | } else { |
389 | tz->trips.critical.flags.valid = 1; | 391 | tz->trips.critical.flags.valid = 1; |
390 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, | 392 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, |
391 | "Found critical threshold [%lu]\n", | 393 | "Found critical threshold [%lu]\n", |
392 | tz->trips.critical.temperature)); | 394 | tz->trips.critical.temperature)); |
393 | } | 395 | } |
394 | if (tz->trips.critical.flags.valid == 1) { | 396 | if (tz->trips.critical.flags.valid == 1) { |
395 | if (crt == -1) { | 397 | if (crt == -1) { |