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