summaryrefslogtreecommitdiffstats
path: root/drivers/macintosh/therm_pm72.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-12-19 11:24:53 +1100
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-20 09:25:33 -0800
commit6ee7fb7e363aa8828b3920422416707c79f39007 (patch)
tree2a11705c9ba8507ce7a31893acde957fb98ea8c5 /drivers/macintosh/therm_pm72.c
parent3e1ec1f43307575d4e04c513aa3c30d69c32b9dc (diff)
downloadlinux-stable-6ee7fb7e363aa8828b3920422416707c79f39007.tar.gz
linux-stable-6ee7fb7e363aa8828b3920422416707c79f39007.tar.bz2
linux-stable-6ee7fb7e363aa8828b3920422416707c79f39007.zip
[PATCH] powerpc: g5 thermal overtemp bug
The g5 thermal control for liquid cooled machines has a small bug, when the temperatures gets too high, it boosts all fans to the max, but incorrectly sets the liquids pump to the min instead of the max speed, thus causing the overtemp condition not to clear and the machine to shut down after a while. This fixes it to set the pumps to max speed instead. This problem might explain some of the reports of random shutdowns that some g5 users have been reporting in the past. Many thanks to Marcus Rothe for spending a lot of time trying various patches & sending log logs before I found out that typo. Note that overtemp handling is still not perfect and the machine might still shutdown, that patch should reduce if not eliminate such occcurences in "normal" conditions with high load. I'll implement a better handling with proper slowing down of the CPUs later. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/macintosh/therm_pm72.c')
-rw-r--r--drivers/macintosh/therm_pm72.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/macintosh/therm_pm72.c b/drivers/macintosh/therm_pm72.c
index 3fc8cdd94c3d..5bb36274a5c6 100644
--- a/drivers/macintosh/therm_pm72.c
+++ b/drivers/macintosh/therm_pm72.c
@@ -933,7 +933,7 @@ static void do_monitor_cpu_combined(void)
if (state0->overtemp > 0) {
state0->rpm = state0->mpu.rmaxn_exhaust_fan;
state0->intake_rpm = intake = state0->mpu.rmaxn_intake_fan;
- pump = state0->pump_min;
+ pump = state0->pump_max;
goto do_set_fans;
}