From: Axel Lin Date: Wed, 11 Apr 2012 12:53:58 +0000 (+0800) Subject: regulator: Fix the logic to ensure new voltage setting in valid range X-Git-Tag: v3.4-rc7~24^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f55205f4d4a8823a11bb8b37ef2ecbd78fb09463;p=thirdparty%2Fkernel%2Flinux.git regulator: Fix the logic to ensure new voltage setting in valid range I think this is a typo. To ensure new voltage setting won't greater than desc->max, the equation should be desc->min + desc->step * new_val <= desc->max. Signed-off-by: Axel Lin Signed-off-by: Mark Brown Cc: stable@vger.kernel.org --- diff --git a/drivers/regulator/max8997.c b/drivers/regulator/max8997.c index 96579296f04d9..17a58c56eebfb 100644 --- a/drivers/regulator/max8997.c +++ b/drivers/regulator/max8997.c @@ -684,7 +684,7 @@ static int max8997_set_voltage_buck(struct regulator_dev *rdev, } new_val++; - } while (desc->min + desc->step + new_val <= desc->max); + } while (desc->min + desc->step * new_val <= desc->max); new_idx = tmp_idx; new_val = tmp_val;