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

Commit f24fa8af authored by Axel Lin's avatar Axel Lin Committed by Dominik Brodowski
Browse files

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: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarEric Miao <eric.y.miao@gmail.com>
Acked-by: default avatarMarek Vasut <marek.vasut@gmail.com>
Signed-off-by: default avatarDominik Brodowski <linux@dominikbrodowski.net>
parent 2b2c5d8c
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -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);
	}

	return 0;

err1:
	while (--i >= 0)
		soc_pcmcia_remove_one(&sinfo->skt[i]);
	clk_put(clk);
	kfree(sinfo);
err0:
	return ret;