ARM: pxa: fix error handling in pxa2xx_drv_pcmcia_probe
If pxa2xx_drv_pcmcia_add_one fails, it will go to err1 error path. Add a missing clk_put in the error path. Checking the ret value after the for loop is redundant, it is always false. Thus remove the redundant checking. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Eric Miao <eric.y.miao@gmail.com> Acked-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
This commit is contained in:
Родитель
2b2c5d8c1d
Коммит
f24fa8affe
|
@ -328,21 +328,15 @@ static int pxa2xx_drv_pcmcia_probe(struct platform_device *dev)
|
|||
goto err1;
|
||||
}
|
||||
|
||||
if (ret) {
|
||||
while (--i >= 0)
|
||||
soc_pcmcia_remove_one(&sinfo->skt[i]);
|
||||
kfree(sinfo);
|
||||
clk_put(clk);
|
||||
} else {
|
||||
pxa2xx_configure_sockets(&dev->dev);
|
||||
dev_set_drvdata(&dev->dev, sinfo);
|
||||
}
|
||||
pxa2xx_configure_sockets(&dev->dev);
|
||||
dev_set_drvdata(&dev->dev, sinfo);
|
||||
|
||||
return 0;
|
||||
|
||||
err1:
|
||||
while (--i >= 0)
|
||||
soc_pcmcia_remove_one(&sinfo->skt[i]);
|
||||
clk_put(clk);
|
||||
kfree(sinfo);
|
||||
err0:
|
||||
return ret;
|
||||
|
|
Загрузка…
Ссылка в новой задаче