mirror of https://gitee.com/openkylin/linux.git
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:
parent
9b6e3e42a4
commit
c0521baf0d
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue