2008-10-06 23:21:00

by dougthompson

[permalink] [raw]
Subject: [PATCH 2/2] edac i5000 fix thermal issues

From: Aristeu Rozanski <[email protected]>

This patch makes the Thermal messages (temperature got past Tmid) to be
displayed only once because:
1) it's the BIOS job to configure and handle the memory throttling
2) if the BIOS is broken or is aware about the condition, flooding the
system logs won't help anything.
3) According to the specification update for Intel 5000 MCHs, all the
revisions of this MCH have problems on the thermal sensors, making
not automatic (a.k.a. intelligent thermal throttling) impossible.

Signed-off-by: Aristeu Rozanski <[email protected]>
Signed-off-by: Doug Thompson <[email protected]>
Cc: Alan Cox <[email protected]>
---
drivers/edac/i5000_edac.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)

Index: linux-2.6.27-rc8/drivers/edac/i5000_edac.c
===================================================================
--- linux-2.6.27-rc8.orig/drivers/edac/i5000_edac.c
+++ linux-2.6.27-rc8/drivers/edac/i5000_edac.c
@@ -511,8 +511,23 @@ static void i5000_process_fatal_error_in
"retry";
break;
case FERR_FAT_M3ERR:
+ {
+ static int done;
+
+ /*
+ * This error is generated to inform that the intelligent
+ * throttling is disabled and the temperature passed the
+ * specified middle point. Since this is something the BIOS
+ * should take care of, we'll warn only once to avoid
+ * worthlessly flooding the log.
+ */
+ if (done)
+ return;
+ done++;
+
specific = ">Tmid Thermal event with intelligent "
- "throttling disabled";
+ "throttling disabled";
+ }
break;
}