mmc: sdhci-pxav2: add error handling of clk_prepare_enable()

There is no check if clk_prepare_enable() succeed in sdhci_pxav2_probe().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
Alexey Khoroshilov 2017-02-11 01:54:46 +03:00 committed by Ulf Hansson
parent bb11eff1f1
commit 21b2228461

View File

@ -185,7 +185,11 @@ static int sdhci_pxav2_probe(struct platform_device *pdev)
goto err_clk_get;
}
pltfm_host->clk = clk;
clk_prepare_enable(clk);
ret = clk_prepare_enable(clk);
if (ret) {
dev_err(&pdev->dev, "failed to enable io clock\n");
goto err_clk_enable;
}
host->quirks = SDHCI_QUIRK_BROKEN_ADMA
| SDHCI_QUIRK_BROKEN_TIMEOUT_VAL
@ -228,6 +232,7 @@ static int sdhci_pxav2_probe(struct platform_device *pdev)
err_add_host:
clk_disable_unprepare(clk);
err_clk_enable:
clk_put(clk);
err_clk_get:
sdhci_pltfm_free(pdev);