http://bugzilla.kernel.org/show_bug.cgi?id=7122
------- Additional Comments From [EMAIL PROTECTED] 2006-09-11 12:33 ------- Well, nothing interesting. The symptoms are a bit different, but it's still broken. Anyway, I think I have figured out what to do to make it work. :-) Namely, the problem is not with the fans themselves, but with the corresponding power resources. There are four power resources C34B - C34E that correspond to the fans C34F - C352, respectively. For each fan to work, its corresponding power resource needs to be switched to 'on'. However, the power resources usually become 'on' after several attempts to switch them. Moreover, each time acpi_evaluate_object(resource->device->handle, "_ON", NULL, NULL) is successful, even if the resource "refuses" to change its state. Gently speaking, the code in drivers/acpi/power.c is not prepared to cope with that. For example, to switch fan C351 on, we need to turn on the power resource C34D, which is done via acpi_power_on(). This function increases resource->references to reflect the fact that the resource is needed for one more device. However, if the attempt to turn the resource 'on' actually fails, resource->references is not decreased. Moreover, if resource->references is greater than one, the function doesn't even try to actually switch the resource, because it assumes it has been turned 'on' already. This way, after two unsuccessful attempts to turn the resource 'on' we're toast (ie. resource->references is greater than one and there won't be more attempts to turn in 'on' whatsoever). As a result, the fan is reported to be 'on', which is plain wrong and dangerous. The solution is to make acpi_power_on() and acpi_power_off_device() manage resource->references so that _unsuccessful_ operations are not counted. Still, although this also seems to help solve the suspend-resume related problem, the initialization, suspend and resume of thermal zones and fans seems to be logically wrong (I'll get back to this later). ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ acpi-bugzilla mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla
