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>
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c
index 8ef5efa..6706b5e 100644
--- a/drivers/mmc/host/sh_mmcif.c
+++ b/drivers/mmc/host/sh_mmcif.c
@@ -1370,7 +1370,11 @@
ret = -ENOMEM;
goto ealloch;
}
- mmc_of_parse(mmc);
+
+ ret = mmc_of_parse(mmc);
+ if (ret < 0)
+ goto eofparse;
+
host = mmc_priv(mmc);
host->mmc = mmc;
host->addr = reg;
@@ -1465,6 +1469,7 @@
clk_put(host->hclk);
eclkget:
pm_runtime_disable(&pdev->dev);
+eofparse:
mmc_free_host(mmc);
ealloch:
iounmap(reg);