forked from Minki/linux
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: NeilBrown <neil@brown.name>
Fixes: 934f1f4833
Acked-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reported-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
This commit is contained in:
parent
06e5801b8c
commit
6b7a783ebd
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user