diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c index 39cb46a5ce11..98043df3c217 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -3849,10 +3849,6 @@ static int mmc_blk_cmdq_issue_rq(struct mmc_queue *mq, struct request *req) mmc_get_card(card); -#ifdef CONFIG_MMC_BLOCK_DEFERRED_RESUME - if (mmc_bus_needs_resume(card->host)) - mmc_resume_bus(card->host); -#endif if (!card->host->cmdq_ctx.active_reqs && mmc_card_doing_bkops(card)) { ret = mmc_cmdq_halt(card->host, true); if (ret) diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 6ad91042409e..caf76173ccf9 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2128,6 +2128,10 @@ void mmc_get_card(struct mmc_card *card) { pm_runtime_get_sync(&card->dev); mmc_claim_host(card->host); +#ifdef CONFIG_MMC_BLOCK_DEFERRED_RESUME + if (mmc_bus_needs_resume(card->host)) + mmc_resume_bus(card->host); +#endif } EXPORT_SYMBOL(mmc_get_card);