mxcmmc: fix error path in mxcmci_probe

After a failing allocation of mmc or a failed ioremap in mxcmci_probe host was
used uninitialized.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Martin Fuzzey <mfuzzey@gmail.com>
Cc: Pierre Ossman <drzeus@drzeus.cx>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Uwe Kleine-König 2009-12-14 18:01:17 -08:00 committed by Linus Torvalds
parent 9b6e3e42a4
commit c0521baf0d

View File

@ -679,17 +679,17 @@ static int mxcmci_probe(struct platform_device *pdev)
{
struct mmc_host *mmc;
struct mxcmci_host *host = NULL;
struct resource *r;
struct resource *iores, *r;
int ret = 0, irq;
printk(KERN_INFO "i.MX SDHC driver\n");
r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
irq = platform_get_irq(pdev, 0);
if (!r || irq < 0)
if (!iores || irq < 0)
return -EINVAL;
r = request_mem_region(r->start, resource_size(r), pdev->name);
r = request_mem_region(iores->start, resource_size(iores), pdev->name);
if (!r)
return -EBUSY;
@ -809,7 +809,7 @@ static int mxcmci_probe(struct platform_device *pdev)
out_free:
mmc_free_host(mmc);
out_release_mem:
release_mem_region(host->res->start, resource_size(host->res));
release_mem_region(iores->start, resource_size(iores));
return ret;
}