hwmon: (ltc2992) Avoid division by zero
authorAntoniu Miclaus <antoniu.miclaus@analog.com>
Wed, 11 Oct 2023 13:57:53 +0000 (16:57 +0300)
committerGuenter Roeck <linux@roeck-us.net>
Sat, 28 Oct 2023 16:21:36 +0000 (09:21 -0700)
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>
drivers/hwmon/ltc2992.c

index 589bcd07ce7f718d98baa5ca2b960396969b9c37..001799bc28ed6f24430541e394599eddb62ffa60 100644 (file)
@@ -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;