diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-04-21 14:42:15 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-04-21 14:42:15 +0800 |
commit | fd9302c16fc244139c1ddfdffc145d5b772ed9ce (patch) | |
tree | 40270feadd63149bcd43380cf3fe402a2dcd85ad /drivers/md/dm.c | |
parent | 9b17ba5e21b99587d7c54250059cf10fd51c74f2 (diff) | |
parent | 6fe78bc1bfcddabbf3d210e18f91da44fa796d8a (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.c | 13 |
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); } /* |