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

Commit b3fcf3e5 authored by Axel Lin's avatar Axel Lin Committed by Liam Girdwood
Browse files

regulator: ab3100 - fix the logic to remove already registered regulators in error path



In current implementation, ab3100_regulators[0].rdev is not unregistered if
the error happen at i > 0.

This patch fixes the resource leak and also improves the readability.

Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent af54decd
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -634,12 +634,9 @@ static int __devinit ab3100_regulators_probe(struct platform_device *pdev)
				"%s: failed to register regulator %s err %d\n",
				__func__, ab3100_regulator_desc[i].name,
				err);
			i--;
			/* remove the already registered regulators */
			while (i > 0) {
			while (--i >= 0)
				regulator_unregister(ab3100_regulators[i].rdev);
				i--;
			}
			return err;
		}