diff options
| author | Chris Packham <chris.packham@alliedtelesis.co.nz> | 2025-08-29 15:05:10 +1200 |
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2025-08-29 06:56:30 -0700 |
| commit | 98fd069dd87386d87eaf439e3c7b5767618926d2 (patch) | |
| tree | 95b51780f92fc3e1a075753c774edf0e85c8c919 | |
| parent | 1180c79fbf36e4c02e76ae4658509523437e52a4 (diff) | |
hwmon: (ina238) Correctly clamp temperature
ina238_write_temp() was attempting to clamp the user input but was
throwing away the result. Ensure that we clamp the value to the
appropriate range before it is converted into a register value.
Fixes: 0d9f596b1fe3 ("hwmon: (ina238) Modify the calculation formula to adapt to different chips")
Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Link: https://lore.kernel.org/r/20250829030512.1179998-3-chris.packham@alliedtelesis.co.nz
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
| -rw-r--r-- | drivers/hwmon/ina238.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hwmon/ina238.c b/drivers/hwmon/ina238.c index 5a394eeff676..4d3dc018ead9 100644 --- a/drivers/hwmon/ina238.c +++ b/drivers/hwmon/ina238.c @@ -572,7 +572,7 @@ static int ina238_write_temp(struct device *dev, u32 attr, long val) return -EOPNOTSUPP; /* Signed */ - regval = clamp_val(val, -40000, 125000); + val = clamp_val(val, -40000, 125000); regval = div_s64(val * 10000, data->config->temp_lsb) << data->config->temp_shift; regval = clamp_val(regval, S16_MIN, S16_MAX) & (0xffff << data->config->temp_shift); |
