Blob Blame History Raw
From 178b01eccfb0b8149682f61388400bd3d903dddc Mon Sep 17 00:00:00 2001
From: Jonathan Cormier <jcormier@criticallink.com>
Date: Thu, 26 Jan 2023 17:32:25 -0500
Subject: [PATCH] hwmon: (ltc2945) Handle error case in ltc2945_value_store
Git-commit: 178b01eccfb0b8149682f61388400bd3d903dddc
Patch-mainline: v6.3-rc1
References: git-fixes

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>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/hwmon/ltc2945.c | 2 ++
 1 file changed, 2 insertions(+)

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;
-- 
2.35.3