From: Trent Piepho Date: Thu, 4 Apr 2019 21:52:04 +0000 (+0000) Subject: power: pfuze100: Fix off by one error in voltage table handling X-Git-Tag: v2019.07~36^2~92 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d3eaf95ec67c8a7897052812ca30367cdf764c17;p=oweals%2Fu-boot.git power: pfuze100: Fix off by one error in voltage table handling The code that sets a regulator by looking up the voltage in a table had an off by one error. vsel_mask is a bitmask, not the number of table entries, so a vsel_mask value of 0x7 indicates there are 8, not 7, entries in the table. Cc: Peng Fan Cc: Jaehoon Chung Signed-off-by: Trent Piepho --- diff --git a/drivers/power/regulator/pfuze100.c b/drivers/power/regulator/pfuze100.c index 99073d6018..d6d35f3a39 100644 --- a/drivers/power/regulator/pfuze100.c +++ b/drivers/power/regulator/pfuze100.c @@ -482,11 +482,11 @@ static int pfuze100_regulator_val(struct udevice *dev, int op, int *uV) debug("Set voltage for REGULATOR_TYPE_FIXED regulator\n"); return -EINVAL; } else if (desc->volt_table) { - for (i = 0; i < desc->vsel_mask; i++) { + for (i = 0; i <= desc->vsel_mask; i++) { if (*uV == desc->volt_table[i]) break; } - if (i == desc->vsel_mask) { + if (i == desc->vsel_mask + 1) { debug("Unsupported voltage %u\n", *uV); return -EINVAL; }