I've just added modules to get thermal readings from my motherboard (i2c_piix4 and w83781d) and I'm getting erroneous shutdown events: Nov 16 20:05:50 desktop kernel: Critical temperature reached (327 C), shutting down. Nov 16 20:05:50 desktop [powersave][5300]: Info: ACPI Event happened: thermal_zone THRM 000000f0 00000001 ignore Button because of resume: no Nov 16 20:05:50 desktop [powersave][5300]: Info: Thermal event happend. Nov 16 20:05:50 desktop [powersave][5300]: WARNING in Function updateTemperatureState; line 1280: Error during temperature evaluation, has the thermal module been unloaded? Then please restart the daemon. Nov 16 20:05:50 desktop init: Switching to runlevel: 0 I'd like to keep this nice shutdown at critical temperature feature. But is there any way to make the system ignore these obviously erroneous readings (327C!!). [BTW the thermal module is loaded] Many thanks -- Andrew Betts Jasp Computer Services Ltd
Well... I fixed my problem by modifying the thermal module. Comments welcome. --- linux-orig/drivers/acpi/thermal.c 2004-11-17 10:08:38.799149800 +0000 +++ linux/drivers/acpi/thermal.c 2004-11-16 22:44:53.000000000 +0000 @@ -457,6 +457,11 @@ if (!tz || !tz->trips.critical.flags.valid) return_VALUE(-EINVAL); + if(tz->temperature >= tz->trips.critical.temperature+100){ + printk(KERN_INFO PREFIX "Erroneous critical temperature (%ld C), ignoring.\n", KELVIN_TO_CELSIUS(tz->temperature)); + return_VALUE(-EINVAL); + } + if (tz->temperature >= tz->trips.critical.temperature) { ACPI_DEBUG_PRINT((ACPI_DB_WARN, "Critical trip point\n")); -- Andrew Betts Jasp Computer Services Ltd
participants (1)
-
Andrew Betts