regulator: wm8350: fix missing increment of loop index i
authorColin Ian King <colin.king@canonical.com>
Fri, 20 Apr 2018 09:26:23 +0000 (10:26 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 23 Apr 2018 11:26:05 +0000 (12:26 +0100)
It seems that the loop index i is not being incremented and hence
potentially the while loop could spin forever. Fortunately with the
data being used this does not appear to happen at the moment.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/wm8350-regulator.c

index da9106b..8ad11b0 100644 (file)
@@ -911,6 +911,7 @@ static unsigned int get_mode(int uA, const struct wm8350_dcdc_efficiency *eff)
        while (eff[i].uA_load_min != -1) {
                if (uA >= eff[i].uA_load_min && uA <= eff[i].uA_load_max)
                        return eff[i].mode;
+               i++;
        }
        return REGULATOR_MODE_NORMAL;
 }