| From 86b2bbfdbd1fcc4a3aa62ccd3f245c40c5ad5b85 Mon Sep 17 00:00:00 2001 |
| From: Jean Delvare <khali@linux-fr.org> |
| Date: Fri, 20 Jan 2012 10:09:23 -0500 |
| Subject: hwmon: (f71805f) Fix clamping of temperature limits |
| |
| From: Jean Delvare <khali@linux-fr.org> |
| |
| commit 86b2bbfdbd1fcc4a3aa62ccd3f245c40c5ad5b85 upstream. |
| |
| Properly clamp temperature limits set by the user. Without this fix, |
| attempts to write temperature limits above the maximum supported by |
| the chip (255 degrees Celsius) would arbitrarily and unexpectedly |
| result in the limit being set to 0 degree Celsius. |
| |
| Signed-off-by: Jean Delvare <khali@linux-fr.org> |
| Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/hwmon/f71805f.c | 10 +++++----- |
| 1 file changed, 5 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/hwmon/f71805f.c |
| +++ b/drivers/hwmon/f71805f.c |
| @@ -281,11 +281,11 @@ static inline long temp_from_reg(u8 reg) |
| |
| static inline u8 temp_to_reg(long val) |
| { |
| - if (val < 0) |
| - val = 0; |
| - else if (val > 1000 * 0xff) |
| - val = 0xff; |
| - return ((val + 500) / 1000); |
| + if (val <= 0) |
| + return 0; |
| + if (val >= 1000 * 0xff) |
| + return 0xff; |
| + return (val + 500) / 1000; |
| } |
| |
| /* |