There is no need to have two loops there, we can store error for subsequent reporting.
Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com> --- drivers/regulator/core.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 8a469d7c00c2..9eb2e04f1219 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -3690,21 +3690,17 @@ int regulator_bulk_force_disable(int num_consumers, struct regulator_bulk_data *consumers) { int i; - int ret; + int ret = 0; - for (i = 0; i < num_consumers; i++) + for (i = 0; i < num_consumers; i++) { consumers[i].ret = regulator_force_disable(consumers[i].consumer); - for (i = 0; i < num_consumers; i++) { - if (consumers[i].ret != 0) { + /* Store first error for reporting */ + if (consumers[i].ret && !ret) ret = consumers[i].ret; - goto out; - } } - return 0; -out: return ret; } EXPORT_SYMBOL_GPL(regulator_bulk_force_disable); -- 2.11.0.483.g087da7b7c-goog