Bug 14853

Summary: therm_adt746x might have inverted fan speed logic
Product: Platform Specific/Hardware Reporter: Patrick McFarland (diablod3)
Component: PPC-64Assignee: Anton Blanchard (anton)
Status: CLOSED CODE_FIX    
Severity: high CC: akpm, benh, jdelvare, rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.32 Subsystem:
Regression: Yes Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    

Description Patrick McFarland 2009-12-21 04:49:55 UTC
I just recently upgraded to .32 from .31 on my Powerbook 5,2. The fans worked properly, as in, when it got warm it turned the fans on, when it got cold, it turns the fans off.

However, .32 now turns the fans on soon as therm_adt746x is loaded, the fans crank up to full throttle, even though the temperatures are at least 10 degrees below sensor1_limit and sensor2_limit in /sys/devices/temperatures.

Trying to manually set the limits with echo -n foo > sensorn_limit to 20 degrees cooler (as opposed to warmer) causes the fans to shut off, but after several minutes the box halts and powers off (probably triggering some safety limit to prevent hardware damage).

I'm not sure how sensorn_fan_speed works, but the fans are at the their fastest at 0, and medium speed at 91, and stopped altogether at 255.
Comment 1 Zhang Rui 2009-12-22 01:29:58 UTC
please attach the acpidump output.
I suspect the fan is not controlled via acpi.
Comment 2 Patrick McFarland 2009-12-22 09:34:24 UTC
Hmm, apparently acpidump works only on x86. This is a Powerbook and has a PowerPC processor.
Comment 3 Andrew Morton 2009-12-23 00:11:22 UTC
I'll reassign this to powerpc.
Comment 4 Benjamin Herrenschmidt 2009-12-23 01:13:11 UTC
Does that fix it ?

http://git.kernel.org/linus/1496e89ae2a0962748e55165a590fa3209c6f158
Comment 5 Patrick McFarland 2010-01-04 21:49:16 UTC
Ben, that patch does seem to fix it correctly.