|
@@ -370,13 +370,19 @@ static int sdhci_esdhc_probe(struct platform_device *pdev)
|
|
|
}
|
|
|
|
|
|
/* call to generic mmc_of_parse to support additional capabilities */
|
|
|
- mmc_of_parse(host->mmc);
|
|
|
+ ret = mmc_of_parse(host->mmc);
|
|
|
+ if (ret)
|
|
|
+ goto err;
|
|
|
+
|
|
|
mmc_of_parse_voltage(np, &host->ocr_mask);
|
|
|
|
|
|
ret = sdhci_add_host(host);
|
|
|
if (ret)
|
|
|
- sdhci_pltfm_free(pdev);
|
|
|
+ goto err;
|
|
|
|
|
|
+ return 0;
|
|
|
+ err:
|
|
|
+ sdhci_pltfm_free(pdev);
|
|
|
return ret;
|
|
|
}
|
|
|
|