Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fbe31057 authored by Andrzej Hajda's avatar Andrzej Hajda Committed by Mark Brown
Browse files

regulator: fixed regulator_bulk_enable unwinding code



Unwinding code disables all successfully enabled regulators.
Error is logged for every failed regulator.

Signed-off-by: default avatarAndrzej Hajda <a.hajda@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 2730fd82
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -3057,9 +3057,13 @@ int regulator_bulk_enable(int num_consumers,
	return 0;

err:
	pr_err("Failed to enable %s: %d\n", consumers[i].supply, ret);
	while (--i >= 0)
	for (i = 0; i < num_consumers; i++) {
		if (consumers[i].ret < 0)
			pr_err("Failed to enable %s: %d\n", consumers[i].supply,
			       consumers[i].ret);
		else
			regulator_disable(consumers[i].consumer);
	}

	return ret;
}