regulator: tps6586x-regulator - fix value range checking for val

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>
This commit is contained in:
Axel Lin 2010-08-22 22:38:15 +08:00 committed by Liam Girdwood
parent c356cbc2d4
commit 327531bada

View 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;