hwmon: (ina2xx) don't accept shunt values greater than the calibration factor
authorBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 5 Jan 2015 14:20:54 +0000 (15:20 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 26 Jan 2015 05:23:59 +0000 (21:23 -0800)
Shunt resistance values greater than the chip's calibration factor make no
sense since the actual value written to the register equals:

<calibration factor> / <shunt>

Bail-out from ina2xx_probe() if the configured value is greater than the
calibration factor.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina2xx.c

index 39e017bf92fdc17ea31ddef4ade88083f9f99b05..3234e571805c343fb7a4b150ee59ff445d084bc9 100644 (file)
@@ -313,7 +313,8 @@ static int ina2xx_probe(struct i2c_client *client,
        data->config = &ina2xx_config[data->kind];
        data->client = client;
 
-       if (data->rshunt <= 0)
+       if (data->rshunt <= 0 ||
+           data->rshunt > data->config->calibration_factor)
                return -ENODEV;
 
        ret = ina2xx_init(data);
This page took 0.044158 seconds and 5 git commands to generate.