[3.13.y.z extended stable] Patch "hwmon: (lm78) Fix overflow problems seen when writing large temperature limits" has been added to staging queue

Kamal Mostafa kamal at canonical.com
Mon Sep 15 22:07:50 UTC 2014

This is a note to let you know that I have just added a patch titled

    hwmon: (lm78) Fix overflow problems seen when writing large temperature limits

to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree 
which can be found at:


This patch is scheduled to be released in version

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.13.y.z tree, see



>From b0589f23f7772871659202401f95e8b387b440c6 Mon Sep 17 00:00:00 2001
From: Guenter Roeck <linux at roeck-us.net>
Date: Tue, 29 Jul 2014 20:48:59 -0700
Subject: hwmon: (lm78) Fix overflow problems seen when writing large
 temperature limits

commit 1074d683a51f1aded3562add9ef313e75d557327 upstream.

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.

Cc: Axel Lin <axel.lin at ingics.com>
Reviewed-by: Axel Lin <axel.lin at ingics.com>
Signed-off-by: Guenter Roeck <linux at roeck-us.net>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
 drivers/hwmon/lm78.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/lm78.c b/drivers/hwmon/lm78.c
index a2f3b4a..b879427 100644
--- a/drivers/hwmon/lm78.c
+++ b/drivers/hwmon/lm78.c
@@ -108,7 +108,7 @@ static inline int FAN_FROM_REG(u8 val, int div)
  * TEMP: mC (-128C to +127C)
  * REG: 1C/bit, two's complement
-static inline s8 TEMP_TO_REG(int val)
+static inline s8 TEMP_TO_REG(long val)
 	int nval = clamp_val(val, -128000, 127000) ;
 	return nval < 0 ? (nval - 500) / 1000 : (nval + 500) / 1000;

More information about the kernel-team mailing list