aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorSimon Baatz <gmbnomis@gmail.com>2013-06-09 16:14:12 -0400
committerChris Ball <cjb@laptop.org>2013-06-27 10:22:50 -0400
commit2c9054dc102742e1683b5d879f7472fb712b7324 (patch)
tree1bee12f61653f12896ba56351db67839c6610814 /drivers/mmc
parentec0a7517dc25b4cca8a694fd61e09771bffba022 (diff)
mmc: sh_mmcif: handle mmc_of_parse() errors during probe
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sh_mmcif.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 8ef5efad45d0..6706b5e3b974 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1370,7 +1370,11 @@ static int sh_mmcif_probe(struct platform_device *pdev)
1370 ret = -ENOMEM; 1370 ret = -ENOMEM;
1371 goto ealloch; 1371 goto ealloch;
1372 } 1372 }
1373 mmc_of_parse(mmc); 1373
1374 ret = mmc_of_parse(mmc);
1375 if (ret < 0)
1376 goto eofparse;
1377
1374 host = mmc_priv(mmc); 1378 host = mmc_priv(mmc);
1375 host->mmc = mmc; 1379 host->mmc = mmc;
1376 host->addr = reg; 1380 host->addr = reg;
@@ -1465,6 +1469,7 @@ eclkupdate:
1465 clk_put(host->hclk); 1469 clk_put(host->hclk);
1466eclkget: 1470eclkget:
1467 pm_runtime_disable(&pdev->dev); 1471 pm_runtime_disable(&pdev->dev);
1472eofparse:
1468 mmc_free_host(mmc); 1473 mmc_free_host(mmc);
1469ealloch: 1474ealloch:
1470 iounmap(reg); 1475 iounmap(reg);