[lm-sensors] Fintek f71882fg ACPI conflict
michael.zintakis at googlemail.com
Thu Jun 28 13:15:43 CEST 2012
>> Could any of the more knowledgeable on here explain why
>> is it such a bad idea please?
> Because there's no handshaking between the firmware and the OS driver,
> and accesses to hardware sensors are often indexed. Imagine this
> ACPI lmsensors
> ---- ---------
> select temperature register
> select fan speed register
> read value
> read value
> ACPi will read the fan speed register instead of the temperature
> register, and the value may be far too high and cause a critical
> shutdown of the system.
> That's the *good* outcome. The bad outcome involves these register
> accesses racing in a way that disables fan control or thermal trip
> points and risks causing hardware damage. It's not safe for two
> different codepaths to access the same hardware without having any kind
> of locking, so if your system firmware declares that ACPI is using the
> temperature device the hardware sensors framework will refuse to.
All noted, thanks for the explanation - pretty hairy stuff! The tragic
thing is, I have no way of telling ACPI to *not* use or "implement" its
own fan, voltage, temperature management and let a more capable piece of
software (the f71882fg driver in this case) do that job!
What is the alternative? There is none that I could see. I tried using
memmap to force ACPI not to use the memory region claimed by f71882fg
(0x290 - 8 bytes long according to the driver), but that didn't help
much. What am I supposed to do - deactivate ACPI completely? That would
be like going after a fly with a bazooka!
More information about the lm-sensors