[lvc-project] [PATCH] hwmon: (tps23861) Cast unsigned temperature register value to signed

Murad Masimov m.masimov at maxima.ru
Thu Nov 21 20:36:03 MSK 2024


Since the temperature is supposed to be a signed value in this case, cast
unsigned raw register value to signed before performing the calculations.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: fff7b8ab2255 ("hwmon: add Texas Instruments TPS23861 driver")
Signed-off-by: Murad Masimov <m.masimov at maxima.ru>
---
 drivers/hwmon/tps23861.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/hwmon/tps23861.c b/drivers/hwmon/tps23861.c
index dfcfb09d9f3c..80fb03f30c30 100644
--- a/drivers/hwmon/tps23861.c
+++ b/drivers/hwmon/tps23861.c
@@ -132,7 +132,7 @@ static int tps23861_read_temp(struct tps23861_data *data, long *val)
 	if (err < 0)
 		return err;

-	*val = (regval * TEMPERATURE_LSB) - 20000;
+	*val = ((long)regval * TEMPERATURE_LSB) - 20000;

 	return 0;
 }
--
2.39.2




More information about the lvc-project mailing list