regulator: tps6586x-regulator - fix value range checking for val
authorAxel Lin <axel.lin@gmail.com>
Sun, 22 Aug 2010 14:38:15 +0000 (22:38 +0800)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Wed, 1 Sep 2010 11:59:34 +0000 (12:59 +0100)
val is used as array index of ri->voltages.
Thus the valid value range should be 0 .. ri->desc.n_voltages - 1.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
drivers/regulator/tps6586x-regulator.c

index 8cff1413a147f1822336160602c57d253f3d1902..facd439d0f1281fb463125d1900f6114ee0d11b7 100644 (file)
@@ -133,7 +133,7 @@ static int tps6586x_ldo_get_voltage(struct regulator_dev *rdev)
        mask = ((1 << ri->volt_nbits) - 1) << ri->volt_shift;
        val = (val & mask) >> ri->volt_shift;
 
-       if (val > ri->desc.n_voltages)
+       if (val >= ri->desc.n_voltages)
                BUG();
 
        return ri->voltages[val] * 1000;