summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-pxav3.c
diff options
context:
space:
mode:
authorSimon Baatz2013-06-09 22:14:15 +0200
committerChris Ball2013-06-27 16:23:11 +0200
commitd2cf6071cc09337eb68d960bcba94d2998de6172 (patch)
tree903884a85aeadb11e252a7eb0724c1e636c812d5 /drivers/mmc/host/sdhci-pxav3.c
parentmmc: mxcmmc: handle mmc_of_parse() errors during probe (diff)
downloadkernel-qcow2-linux-d2cf6071cc09337eb68d960bcba94d2998de6172.tar.gz
kernel-qcow2-linux-d2cf6071cc09337eb68d960bcba94d2998de6172.tar.xz
kernel-qcow2-linux-d2cf6071cc09337eb68d960bcba94d2998de6172.zip
mmc: sdhci-pxav3: handle mmc_of_parse() errors during probe
Signed-off-by: Simon Baatz <gmbnomis@gmail.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-pxav3.c')
-rw-r--r--drivers/mmc/host/sdhci-pxav3.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
index 56d9bee93d8f..d29f81097334 100644
--- a/drivers/mmc/host/sdhci-pxav3.c
+++ b/drivers/mmc/host/sdhci-pxav3.c
@@ -252,7 +252,9 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
match = of_match_device(of_match_ptr(sdhci_pxav3_of_match), &pdev->dev);
if (match) {
- mmc_of_parse(host->mmc);
+ ret = mmc_of_parse(host->mmc);
+ if (ret)
+ goto err_of_parse;
sdhci_get_of_property(pdev);
pdata = pxav3_get_mmc_pdata(dev);
} else if (pdata) {
@@ -313,10 +315,11 @@ static int sdhci_pxav3_probe(struct platform_device *pdev)
return 0;
+err_of_parse:
+err_cd_req:
err_add_host:
clk_disable_unprepare(clk);
clk_put(clk);
-err_cd_req:
err_clk_get:
sdhci_pltfm_free(pdev);
kfree(pxa);