ds1621: Fix negative temperature readings
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@xes-inc.com>
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
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 @@
/* 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];
}