[PATCH] Bugfix for ds620.c (sign error)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bugfix for ds620.c: Signed temperatures were not handled appropriately

Signed-off-by: Roland Stigge <stigge@xxxxxxxxx>


diff --git a/drivers/hwmon/ds620.c b/drivers/hwmon/ds620.c
index 257957c..92e39fa 100644
--- a/drivers/hwmon/ds620.c
+++ b/drivers/hwmon/ds620.c
@@ -72,7 +72,7 @@ struct ds620_data {
 	char valid;		/* !=0 if following fields are valid */
 	unsigned long last_updated;	/* In jiffies */
 
-	u16 temp[3];		/* Register values, word */
+	s16 temp[3];		/* Register values, word */
 };
 
 /*
@@ -169,7 +169,8 @@ static ssize_t show_temp(struct device *dev, struct device_attribute *da,
 	if (IS_ERR(data))
 		return PTR_ERR(data);
 
-	return sprintf(buf, "%d\n", ((data->temp[attr->index] / 8) * 625) / 10);
+	return sprintf(buf, "%d\n",
+			(((int)data->temp[attr->index] / 8) * 625) / 10);
 }
 
 static ssize_t set_temp(struct device *dev, struct device_attribute *da,

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux