aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core/queue.c
diff options
context:
space:
mode:
authorAdrian Hunter <[email protected]>2017-11-29 13:41:07 +0000
committerUlf Hansson <[email protected]>2017-12-11 11:44:35 +0000
commit10f21df4a23540b5da8e88d1030ff8c37818e04f (patch)
tree4183f75ffa51c14d5e9090f851cf6495e0283f62 /drivers/mmc/core/queue.c
parentmmc: sdhci-pci: Add CQHCI support for Intel GLK (diff)
downloadkernel-10f21df4a23540b5da8e88d1030ff8c37818e04f.tar.gz
kernel-10f21df4a23540b5da8e88d1030ff8c37818e04f.zip
mmc: block: blk-mq: Add support for direct completion
For blk-mq, add support for completing requests directly in the ->done callback. That means that error handling and urgent background operations must be handled by recovery_work in that case. Signed-off-by: Adrian Hunter <[email protected]> Acked-by: Linus Walleij <[email protected]> Signed-off-by: Ulf Hansson <[email protected]> Tested-by: Linus Walleij <[email protected]>
Diffstat (limited to 'drivers/mmc/core/queue.c')
-rw-r--r--drivers/mmc/core/queue.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/core/queue.c b/drivers/mmc/core/queue.c
index 8d632d2f5199..d8394007bc99 100644
--- a/drivers/mmc/core/queue.c
+++ b/drivers/mmc/core/queue.c
@@ -165,7 +165,10 @@ static void mmc_mq_recovery_handler(struct work_struct *work)
mq->in_recovery = true;
- mmc_blk_cqe_recovery(mq);
+ if (mq->use_cqe)
+ mmc_blk_cqe_recovery(mq);
+ else
+ mmc_blk_mq_recovery(mq);
mq->in_recovery = false;