Loading drivers/mmc/card/block.c +4 −0 Original line number Diff line number Diff line Loading @@ -3483,6 +3483,10 @@ 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) Loading drivers/mmc/core/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -2765,6 +2765,7 @@ static inline void mmc_bus_put(struct mmc_host *host) int mmc_resume_bus(struct mmc_host *host) { unsigned long flags; int err = 0; if (!mmc_bus_needs_resume(host)) return -EINVAL; Loading @@ -2780,6 +2781,14 @@ int mmc_resume_bus(struct mmc_host *host) mmc_power_up(host, host->card->ocr); BUG_ON(!host->bus_ops->resume); host->bus_ops->resume(host); if (mmc_card_cmdq(host->card)) { err = mmc_cmdq_halt(host, false); if (err) pr_err("%s: %s: unhalt failed: %d\n", mmc_hostname(host), __func__, err); else mmc_card_clr_suspended(host->card); } } if (host->bus_ops->detect && !host->bus_dead) Loading Loading
drivers/mmc/card/block.c +4 −0 Original line number Diff line number Diff line Loading @@ -3483,6 +3483,10 @@ 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) Loading
drivers/mmc/core/core.c +9 −0 Original line number Diff line number Diff line Loading @@ -2765,6 +2765,7 @@ static inline void mmc_bus_put(struct mmc_host *host) int mmc_resume_bus(struct mmc_host *host) { unsigned long flags; int err = 0; if (!mmc_bus_needs_resume(host)) return -EINVAL; Loading @@ -2780,6 +2781,14 @@ int mmc_resume_bus(struct mmc_host *host) mmc_power_up(host, host->card->ocr); BUG_ON(!host->bus_ops->resume); host->bus_ops->resume(host); if (mmc_card_cmdq(host->card)) { err = mmc_cmdq_halt(host, false); if (err) pr_err("%s: %s: unhalt failed: %d\n", mmc_hostname(host), __func__, err); else mmc_card_clr_suspended(host->card); } } if (host->bus_ops->detect && !host->bus_dead) Loading