hwmon: (ltc2945) Handle error case in ltc2945_value_store
authorJonathan Cormier <jcormier@criticallink.com>
Thu, 26 Jan 2023 22:32:25 +0000 (17:32 -0500)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 3 Feb 2023 15:30:10 +0000 (07:30 -0800)
ltc2945_val_to_reg errors were not being handled
which would have resulted in register being set to
0 (clamped) instead of being left alone.

Fixes: 6700ce035f83 ("hwmon: Driver for Linear Technologies LTC2945")
Signed-off-by: Jonathan Cormier <jcormier@criticallink.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ltc2945.c

index 9af3e3821152b0899e230182eca9a205d5f2bf5f..ac15298a655836334d816129f42adb0ce6fb85ce 100644 (file)
@@ -254,6 +254,8 @@ static ssize_t ltc2945_value_store(struct device *dev,
 
        /* convert to register value, then clamp and write result */
        regval = ltc2945_val_to_reg(dev, reg, val);
+       if (regval < 0)
+               return regval;
        if (is_power_reg(reg)) {
                regval = clamp_val(regval, 0, 0xffffff);
                regbuf[0] = regval >> 16;