diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c index 5d9fdb353446f2792f391281dd6fb1f0a0c22f42..8b4f8f7ad06091ae9d2a64b8137e647797b71549 100644 --- a/drivers/mmc/host/sdhci-of-arasan.c +++ b/drivers/mmc/host/sdhci-of-arasan.c @@ -201,13 +201,16 @@ static int sdhci_arasan_probe(struct platform_device *pdev) static int sdhci_arasan_remove(struct platform_device *pdev) { + int ret; struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_arasan_data *sdhci_arasan = pltfm_host->priv; + ret = sdhci_pltfm_unregister(pdev); + clk_disable_unprepare(sdhci_arasan->clk_ahb); - return sdhci_pltfm_unregister(pdev); + return ret; } static const struct of_device_id sdhci_arasan_of_match[] = {