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

Commit 6b7a783e authored by NeilBrown's avatar NeilBrown Committed by Ulf Hansson
Browse files

mmc: pwrseq_simple: fix error path in mmc_pwrseq_simple_alloc



The current error-path code (when gpiod_get_index() reports
an error) can never free pwrseq->reset_gpios[0], but might
try to tree pwrseq->reset_gpios[-1], which has unfortunate
consequences.

Signed-off-by: default avatarNeilBrown <neil@brown.name>
Fixes: 934f1f48
Acked-by: default avatarJavier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Reported-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
parent 06e5801b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ int mmc_pwrseq_simple_alloc(struct mmc_host *host, struct device *dev)
		    PTR_ERR(pwrseq->reset_gpios[i]) != -ENOSYS) {
			ret = PTR_ERR(pwrseq->reset_gpios[i]);

			while (--i)
			while (i--)
				gpiod_put(pwrseq->reset_gpios[i]);

			goto clk_put;