aboutsummaryrefslogtreecommitdiff
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-04-21 14:42:15 +0800
committerAlex Shi <alex.shi@linaro.org>2016-04-21 14:42:15 +0800
commitfd9302c16fc244139c1ddfdffc145d5b772ed9ce (patch)
tree40270feadd63149bcd43380cf3fe402a2dcd85ad /drivers/md/dm.c
parent9b17ba5e21b99587d7c54250059cf10fd51c74f2 (diff)
parent6fe78bc1bfcddabbf3d210e18f91da44fa796d8a (diff)
Merge remote-tracking branch 'lts/linux-4.1.y' into linux-linaro-lsk-v4.1lsk-v4.1-16.04
Conflicts: arch/arm/include/asm/psci.h mm/memcontrol.c
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index 12d72660ebc9..8981e13de935 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -1065,12 +1065,8 @@ static void rq_completed(struct mapped_device *md, int rw, bool run_queue)
* back into ->request_fn() could deadlock attempting to grab the
* queue lock again.
*/
- if (run_queue) {
- if (md->queue->mq_ops)
- blk_mq_run_hw_queues(md->queue, true);
- else
- blk_run_queue_async(md->queue);
- }
+ if (!md->queue->mq_ops && run_queue)
+ blk_run_queue_async(md->queue);
/*
* dm_put() must be at the end of this function. See the comment above
@@ -1296,7 +1292,10 @@ static void dm_complete_request(struct request *rq, int error)
struct dm_rq_target_io *tio = tio_from_request(rq);
tio->error = error;
- blk_complete_request(rq);
+ if (!rq->q->mq_ops)
+ blk_complete_request(rq);
+ else
+ blk_mq_complete_request(rq);
}
/*