Guenter Roeck c0d04e9112 hwmon: (nct7802) Fix overflows seen when writing into limit attributes
Fix overflows seen when writing voltage and temperature limit attributes.

The value passed to DIV_ROUND_CLOSEST() needs to be clamped, and the
value parameter passed to nct7802_write_fan_min() is an unsigned long.

Also, writing values larger than 2700000 into a fan limit attribute results
in writing 0 into the chip's limit registers. The exact behavior when
writing this value is unspecified. For consistency, report a limit of
1350000 if the chip register reads 0. This may be wrong, and the chip
behavior should be verified with the actual chip, but it is better than
reporting a value of 0 (which, when written, results in writing a value
of 0x1fff into the chip register).

Fixes: 3434f3783580 ("hwmon: Driver for Nuvoton NCT7802Y")
Reviewed-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-12-12 11:32:34 -08:00
..
2014-01-29 20:40:08 +01:00
2015-05-31 22:58:36 -07:00
2014-08-04 07:01:35 -07:00
2016-06-27 18:58:04 -07:00
2016-09-08 21:34:17 -07:00
2014-08-04 07:01:36 -07:00
2014-08-04 07:01:35 -07:00
2016-03-05 06:25:34 -08:00
2014-08-04 07:01:35 -07:00
2014-08-04 07:01:35 -07:00
2014-01-29 20:40:08 +01:00
2014-01-29 20:40:08 +01:00
2016-12-02 13:28:02 -08:00
2015-08-10 23:00:10 -07:00
2015-06-21 22:54:53 -07:00
2016-12-02 13:28:05 -08:00