summaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorJonathan Cormier <jcormier@criticallink.com>2023-01-26 23:32:25 +0100
committerGuenter Roeck <linux@roeck-us.net>2023-02-03 16:30:10 +0100
commit178b01eccfb0b8149682f61388400bd3d903dddc (patch)
tree567c70d7458a5a5713d6ba196d4047ec768c587c /drivers/hwmon
parenthwmon: (ltc2945) Add devicetree match table (diff)
downloadlinux-178b01eccfb0b8149682f61388400bd3d903dddc.tar.xz
linux-178b01eccfb0b8149682f61388400bd3d903dddc.zip
hwmon: (ltc2945) Handle error case in ltc2945_value_store
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>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/ltc2945.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/hwmon/ltc2945.c b/drivers/hwmon/ltc2945.c
index 9af3e3821152..ac15298a6558 100644
--- a/drivers/hwmon/ltc2945.c
+++ b/drivers/hwmon/ltc2945.c
@@ -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;