Commit aef17ca1 authored by Guenter Roeck's avatar Guenter Roeck

hwmon: (k10temp) Only apply temperature offset if result is positive

A user reports a really bad temperature on Ryzen 1950X.

k10temp-pci-00cb
Adapter: PCI adapter
temp1: +4294948.3°C (high = +70.0°C)

This will happen if the temperature reported by the chip is lower than
the offset temperature. This has been seen in the field if "Sense MI Skew"
and/or "Sense MI Offset" BIOS parameters were set to unexpected values.
Let's report a temperature of 0 degrees C in that case.

Fixes: 1b50b776 ("hwmon: (k10temp) Add support for temperature offsets")
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 7928b2cb
...@@ -129,7 +129,10 @@ static ssize_t temp1_input_show(struct device *dev, ...@@ -129,7 +129,10 @@ static ssize_t temp1_input_show(struct device *dev,
data->read_tempreg(data->pdev, &regval); data->read_tempreg(data->pdev, &regval);
temp = (regval >> 21) * 125; temp = (regval >> 21) * 125;
if (temp > data->temp_offset)
temp -= data->temp_offset; temp -= data->temp_offset;
else
temp = 0;
return sprintf(buf, "%u\n", temp); return sprintf(buf, "%u\n", temp);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment