hwmon: (dme1737) Prevent overflow problem when writing large limits
authorAxel Lin <axel.lin@ingics.com>
Wed, 6 Aug 2014 00:02:44 +0000 (08:02 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 6 Aug 2014 02:40:15 +0000 (19:40 -0700)
commitd58e47d787c09fe5c61af3c6ce7d784762f29c3d
tree8b33435a10a87f535908ec344b38d25d3e960fdc
parent539a719f9b90f37b934b90ad52be646b9e74a9f6
hwmon: (dme1737) Prevent overflow problem when writing large limits

On platforms with sizeof(int) < sizeof(long), writing a temperature
limit larger than MAXINT will result in unpredictable limit values
written to the chip. Avoid auto-conversion from long to int to fix
the problem.

Voltage limits, fan minimum speed, pwm frequency, pwm ramp rate, and
other attributes have the same problem, fix them as well.

Zone temperature limits are signed, but were cached as u8, causing
unepected values to be reported for negative temperatures. Cache as
s8 to fix the problem.

vrm is an u8, so the written value needs to be limited to [0, 255].

Signed-off-by: Axel Lin <axel.lin@ingics.com>
[Guenter Roeck: Fix zone temperature cache]
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/dme1737.c
This page took 0.031204 seconds and 5 git commands to generate.