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

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
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -227,9 +227,11 @@ static int rpm_reg_set_mV_sel(struct regulator_dev *rdev,
		return uV;

	mutex_lock(&vreg->lock);
	vreg->uV = uV;
	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);

	return ret;
@@ -252,9 +254,11 @@ static int rpm_reg_set_uV_sel(struct regulator_dev *rdev,
		return uV;

	mutex_lock(&vreg->lock);
	vreg->uV = uV;
	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);

	return ret;