aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hwmon
diff options
context:
space:
mode:
authorAntoniu Miclaus <antoniu.miclaus@analog.com>2023-10-11 16:57:53 +0300
committerGuenter Roeck <linux@roeck-us.net>2023-10-28 09:21:36 -0700
commit10b02902048737f376104bc69e5212466e65a542 (patch)
tree098ca631fb1edd1c4bc61ff066b710b5abbbd4b3 /drivers/hwmon
parentb92b2984a5b62099ab7731bc3a30a0d7c83a01d4 (diff)
downloadlinux-10b02902048737f376104bc69e5212466e65a542.tar.gz
hwmon: (ltc2992) Avoid division by zero
Do not allow setting shunt resistor to 0. This results in a division by zero when performing current value computations based on input voltages and connected resistor values. Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> Link: https://lore.kernel.org/r/20231011135754.13508-1-antoniu.miclaus@analog.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r--drivers/hwmon/ltc2992.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/hwmon/ltc2992.c b/drivers/hwmon/ltc2992.c
index 589bcd07ce7f7..001799bc28ed6 100644
--- a/drivers/hwmon/ltc2992.c
+++ b/drivers/hwmon/ltc2992.c
@@ -875,8 +875,12 @@ static int ltc2992_parse_dt(struct ltc2992_state *st)
}
ret = fwnode_property_read_u32(child, "shunt-resistor-micro-ohms", &val);
- if (!ret)
+ if (!ret) {
+ if (!val)
+ return dev_err_probe(&st->client->dev, -EINVAL,
+ "shunt resistor value cannot be zero\n");
st->r_sense_uohm[addr] = val;
+ }
}
return 0;