aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorUlf Hansson <ulf.hansson@linaro.org>2014-12-18 04:41:43 -0500
committerUlf Hansson <ulf.hansson@linaro.org>2015-01-19 03:56:14 -0500
commitfc702cb35dcb660eefb27e9dc1fe93aed9f39f64 (patch)
treeaa05bbce61186c9f5a171711b7613761633b9b3b /drivers/mmc
parentf8e3260c136b5d092ba86a78277b9a4579d8480a (diff)
mmc: sdhci-st: Do cleanup while mmc_of_parse() return an error
At errors, balance sdhci_pltfm_init() with sdhci_pltfm_free(), to make sure all data is freed properly. Cc: Srinivas Kandagatla <srinivas.kandagatla@gmail.com> Cc: Maxime Coquelin <maxime.coquelin@st.com> Cc: Patrice Chotard <patrice.chotard@st.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Maxime Coquelin <maxime.coquelin@st.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/sdhci-st.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/host/sdhci-st.c b/drivers/mmc/host/sdhci-st.c
index 328f348c7243..882b07e9667e 100644
--- a/drivers/mmc/host/sdhci-st.c
+++ b/drivers/mmc/host/sdhci-st.c
@@ -78,10 +78,9 @@ static int sdhci_st_probe(struct platform_device *pdev)
78 } 78 }
79 79
80 ret = mmc_of_parse(host->mmc); 80 ret = mmc_of_parse(host->mmc);
81
82 if (ret) { 81 if (ret) {
83 dev_err(&pdev->dev, "Failed mmc_of_parse\n"); 82 dev_err(&pdev->dev, "Failed mmc_of_parse\n");
84 return ret; 83 goto err_of;
85 } 84 }
86 85
87 clk_prepare_enable(clk); 86 clk_prepare_enable(clk);
@@ -108,6 +107,7 @@ static int sdhci_st_probe(struct platform_device *pdev)
108 107
109err_out: 108err_out:
110 clk_disable_unprepare(clk); 109 clk_disable_unprepare(clk);
110err_of:
111 sdhci_pltfm_free(pdev); 111 sdhci_pltfm_free(pdev);
112 112
113 return ret; 113 return ret;