summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAristeu Rozanski <aris@redhat.com>2008-10-16 07:04:32 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-16 20:21:48 +0200
commit8360e81b5dd23c153301f08937a68fd67d9b46c0 (patch)
tree188d2cd9979ae8e6c92eb5f67984c458c46e02f0
parentedac i5000: fix error messages (diff)
downloadlinux-8360e81b5dd23c153301f08937a68fd67d9b46c0.tar.xz
linux-8360e81b5dd23c153301f08937a68fd67d9b46c0.zip
edac i5000: fix thermal issues
Make the Thermal messages (temperature got past Tmid) 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 <aris@redhat.com> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/edac/i5000_edac.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c
index 7d045ad0a1fe..f0d9b415db50 100644
--- a/drivers/edac/i5000_edac.c
+++ b/drivers/edac/i5000_edac.c
@@ -511,8 +511,23 @@ static void i5000_process_fatal_error_info(struct mem_ctl_info *mci,
"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;
}