Commit c6515d2f authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: qcom_rpm: Don't update vreg->uV/mV if rpm_reg_write fails

Ensure get_voltage return correct voltage if set_voltage fails.
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 97bf6af1
...@@ -227,9 +227,11 @@ static int rpm_reg_set_mV_sel(struct regulator_dev *rdev, ...@@ -227,9 +227,11 @@ static int rpm_reg_set_mV_sel(struct regulator_dev *rdev,
return uV; return uV;
mutex_lock(&vreg->lock); mutex_lock(&vreg->lock);
vreg->uV = uV;
if (vreg->is_enabled) if (vreg->is_enabled)
ret = rpm_reg_write(vreg, req, vreg->uV / 1000); ret = rpm_reg_write(vreg, req, uV / 1000);
if (!ret)
vreg->uV = uV;
mutex_unlock(&vreg->lock); mutex_unlock(&vreg->lock);
return ret; return ret;
...@@ -252,9 +254,11 @@ static int rpm_reg_set_uV_sel(struct regulator_dev *rdev, ...@@ -252,9 +254,11 @@ static int rpm_reg_set_uV_sel(struct regulator_dev *rdev,
return uV; return uV;
mutex_lock(&vreg->lock); mutex_lock(&vreg->lock);
vreg->uV = uV;
if (vreg->is_enabled) if (vreg->is_enabled)
ret = rpm_reg_write(vreg, req, vreg->uV); ret = rpm_reg_write(vreg, req, uV);
if (!ret)
vreg->uV = uV;
mutex_unlock(&vreg->lock); mutex_unlock(&vreg->lock);
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment