[U-Boot] [PATCH 3/3] ds1621: Fix negative temperature readings

Peter Tyser ptyser at xes-inc.com
Wed Sep 29 20:46:19 CEST 2010


From: Jeff Dischler <jdischler at xes-inc.com>

Fix bug where signed data was processed as unsigned.  The bug previously
resulted in negative temperature readings wrapping around, eg -10 became
245.

Signed-off-by: Jeff Dischler <jdischler at xes-inc.com>
Signed-off-by: Peter Tyser <ptyser at xes-inc.com>
---
 drivers/hwmon/ds1621.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/hwmon/ds1621.c b/drivers/hwmon/ds1621.c
index 60bf502..5a2ea62 100644
--- a/drivers/hwmon/ds1621.c
+++ b/drivers/hwmon/ds1621.c
@@ -80,7 +80,7 @@ int dtt_read(int sensor, int reg)
 
 	/* Handle 2 byte result */
 	if (dlen == 2)
-		return ((int)((short)data[1] + (((short)data[0]) << 8)));
+		return (short)((data[0] << 8) | data[1]);
 
 	return (int)data[0];
 }
-- 
1.7.0.4



More information about the U-Boot mailing list