X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Facpi%2Fthermal.c;h=5d3893558cf73566e128f36e6e11482c13ccbef2;hb=ec28dcc6b4c00b78ad269ad5b85ebd5c2d504825;hp=77b8e1eaa71743e189b862f4dfd1229e93f84848;hpb=fa80945269f312bc609e8384302f58b03c916e12;p=safe%2Fjmp%2Flinux-2.6 diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 77b8e1e..5d38935 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -577,7 +577,23 @@ static int acpi_thermal_trips_update(struct acpi_thermal *tz, int flag) static int acpi_thermal_get_trip_points(struct acpi_thermal *tz) { - return acpi_thermal_trips_update(tz, ACPI_TRIPS_INIT); + int i, valid, ret = acpi_thermal_trips_update(tz, ACPI_TRIPS_INIT); + + if (ret) + return ret; + + valid = tz->trips.critical.flags.valid | + tz->trips.hot.flags.valid | + tz->trips.passive.flags.valid; + + for (i = 0; i < ACPI_THERMAL_MAX_ACTIVE; i++) + valid |= tz->trips.active[i].flags.valid; + + if (!valid) { + printk(KERN_WARNING FW_BUG "No valid trip found\n"); + return -ENODEV; + } + return 0; } static void acpi_thermal_check(void *data)