diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index fd910a73d8be..d9b64b50ce4b 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -1827,7 +1827,10 @@ static void mmc_remove(struct mmc_host *host) BUG_ON(!host->card); mmc_remove_card(host->card); + + mmc_claim_host(host); host->card = NULL; + mmc_release_host(host); } /* diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index c1e68f40e0b2..bd5e43a67c8b 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -1110,7 +1110,10 @@ static void mmc_sd_remove(struct mmc_host *host) BUG_ON(!host->card); mmc_remove_card(host->card); + + mmc_claim_host(host); host->card = NULL; + mmc_release_host(host); } /*