diff options
author | Axel Lin <axel.lin@gmail.com> | 2010-08-22 14:38:15 (GMT) |
---|---|---|
committer | Liam Girdwood <lrg@slimlogic.co.uk> | 2010-09-01 11:59:34 (GMT) |
commit | 327531bada36e5786b13bb6918ad8afc545adfa2 (patch) | |
tree | 1ea5cb6f7d430a793eed7e2e5cf803f8cf16bb79 | |
parent | c356cbc2d4d99cf5a1429603fa1841e50987c4d3 (diff) | |
download | linux-327531bada36e5786b13bb6918ad8afc545adfa2.tar.xz |
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>
-rw-r--r-- | drivers/regulator/tps6586x-regulator.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/regulator/tps6586x-regulator.c b/drivers/regulator/tps6586x-regulator.c index 8cff141..facd439 100644 --- a/drivers/regulator/tps6586x-regulator.c +++ b/drivers/regulator/tps6586x-regulator.c @@ -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; |