summaryrefslogtreecommitdiff
path: root/drivers/hwmon/k10temp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-02-16 01:31:28 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2018-02-16 01:31:28 +0300
commit3e9f4df0eac70842fbe329968c88a770794ff06b (patch)
tree5b07d9b6e0e13edd5feb5564fec7a5a339e2ad5a /drivers/hwmon/k10temp.c
parent2439f9766d31eb17584c0e89351a1ec8d1c1d507 (diff)
parentaef17ca1271948ee57cc39b2493d31110cc42625 (diff)
downloadlinux-3e9f4df0eac70842fbe329968c88a770794ff06b.tar.xz
Merge tag 'hwmon-for-linus-v4.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon fix from Guenter Roeck: "Fix bad temperature display on Ryzen/Threadripper" * tag 'hwmon-for-linus-v4.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (k10temp) Only apply temperature offset if result is positive
Diffstat (limited to 'drivers/hwmon/k10temp.c')
-rw-r--r--drivers/hwmon/k10temp.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c
index 30303632fbb7..051a72eecb24 100644
--- a/drivers/hwmon/k10temp.c
+++ b/drivers/hwmon/k10temp.c
@@ -129,7 +129,10 @@ static ssize_t temp1_input_show(struct device *dev,
data->read_tempreg(data->pdev, &regval);
temp = (regval >> 21) * 125;
- temp -= data->temp_offset;
+ if (temp > data->temp_offset)
+ temp -= data->temp_offset;
+ else
+ temp = 0;
return sprintf(buf, "%u\n", temp);
}