The same problem (shutting down immediately on boot) happens with SLED10 SP2 also Thanks a lot for trying that! I thought this came in because the new ACPI
https://bugzilla.novell.com/show_bug.cgi?id=409064 User trenn@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=409064#c8 --- Comment #8 from Thomas Renninger <trenn@novell.com> 2008-07-15 11:42:15 MDT --- This is the thermal zone stuff, I already cut out most parts. My comments start with # Jean: There is one interesting line for you marked with "Jean" :) Scope (_TZ) { Name (TPC, 0x69) Name (TPTM, 0x4B) Name (TPAS, 0x5F) ThermalZone (THRM) { # Temperature method Method (_TMP, 0, NotSerialized) { If (ECON) { # Read out from Embedded controller Store (\_SB.PCI0.LPC0.EC0.RTMP, Local0) Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (TPTM, 0x0A))) } } # Critical temperature Method (_CRT, 0, Serialized) { # If Windows is earlier than Windows Vista (cmp. with OSTP func) # return 0x69 (TPC + 273 Kelvin) * 10, or here: (TPC * 10) + 2732 If (LLess (TPOS, 0x40)) { Return (Add (0x0AAC, Multiply (TPC, 0x0A))) } # IF OSI RETURNS TRUE FOR WINDOWS VISTA (or VISTA SP1) OR LINUX (cmp.OSTP func) # then zero is returned. I EXPECT THE ERROR IS HERE (see kernel code snipet at the end) Else { Return (Zero) } } # Jean: They seem to provide a name for the thermal zone. Can/should we pass # this to hwmon? Name (REGN, "Processor Thermal Zone") .. } } In drivers/acpi/thermal.c: /* Critical Shutdown (required) */ if (flag & ACPI_TRIPS_CRITICAL) { status = acpi_evaluate_integer(tz->device->handle, "_CRT", NULL, &tz->trips.critical.temperature); /* * Treat freezing temperatures as invalid as well; some * BIOSes return really low values and cause reboots at startup. * Below zero (Celcius) values clearly aren't right for sure.. * ... so lets discard those as invalid. */ if (ACPI_FAILURE(status) || tz->trips.critical.temperature <= 2732) { tz->trips.critical.flags.valid = 0; ACPI_EXCEPTION((AE_INFO, status, "No or invalid critical threshold")); ---- Because zero is returned and the kernel is calculating the Kelvin*10 value back or better comparing it with (Kelvin*10) temperature values you get a negativ Celsius value. Ohh, it looks like the above code is in linux-next only? This should be the commit fixing it: commit a39a2d7c72b358c6253a2ec28e17b023b7f6f41c Author: Arjan van de Ven <arjan@linux.intel.com> Date: Mon May 19 15:55:15 2008 -0700 ACPI: Reject below-freezing temperatures as invalid critical temperatures My laptop thinks that it's a good idea to give -73C as the critical CPU temperature.... which isn't the best thing since it causes a shutdown right at bootup. Temperatures below freezing are clearly invalid critical thresholds so just reject these as such. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Acked-by: Zhang Rui <rui.zhang@intel.com> Signed-off-by: Len Brown <len.brown@intel.com> This is something that must pop up in stable kernels... Increasing severity, I will take care about this tomorrow. thermal patches, but this shows how bad it is that we return OSI=Windows. They break SLES10 SP2 certification by adding Vista hotfixes. Linux must not return true for OSI=Windows... (A fight I lost with Intel, they want to let machines break, so that we stay close to Windows ACPI implementation and by that fix other machines..., but this give me new material...). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.