hwmon: (ads1015) Fix off-by-one for valid channel index checking
authorAxel Lin <axel.lin@ingics.com>
Wed, 30 Jul 2014 03:13:52 +0000 (11:13 +0800)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 30 Jul 2014 03:27:10 +0000 (20:27 -0700)
Current code uses channel as array index, so the valid channel value is
0 .. ADS1015_CHANNELS - 1.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Cc: stable@vger.kernel.org
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ads1015.c

index 7f9dc2f86b63d639a3a05baa3debc9b2cf724a19..22e0c926989dca8dfe2644418049d56ae99ef2d9 100644 (file)
@@ -198,7 +198,7 @@ static int ads1015_get_channels_config_of(struct i2c_client *client)
                }
 
                channel = be32_to_cpup(property);
-               if (channel > ADS1015_CHANNELS) {
+               if (channel >= ADS1015_CHANNELS) {
                        dev_err(&client->dev,
                                "invalid channel index %d on %s\n",
                                channel, node->full_name);