Skip to content

Commit bd7e7bc

Browse files
committed
hwmon: (ina238) Correctly clamp shunt voltage limit
When clamping a register value, the result needs to be masked against the register size. This was missing, resulting in errors when trying to write negative limits. Fix by masking the clamping result against the register size. Fixes: eacb52f ("hwmon: Driver for Texas Instruments INA238") Cc: Nathan Rossi <nathan.rossi@digi.com> Cc: Chris Packham <chris.packham@alliedtelesis.co.nz> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
1 parent 98fd069 commit bd7e7bc

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

drivers/hwmon/ina238.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ static int ina238_write_in(struct device *dev, u32 attr, int channel,
379379
regval = clamp_val(val, -163, 163);
380380
regval = (regval * 1000 * 4) /
381381
(INA238_SHUNT_VOLTAGE_LSB * data->gain);
382-
regval = clamp_val(regval, S16_MIN, S16_MAX);
382+
regval = clamp_val(regval, S16_MIN, S16_MAX) & 0xffff;
383383

384384
switch (attr) {
385385
case hwmon_in_max:

0 commit comments

Comments
 (0)