summaryrefslogtreecommitdiffstats
path: root/block/blk-timeout.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2015-10-30 13:47:04 +0100
committerJens Axboe <axboe@fb.com>2015-11-24 23:24:10 +0100
commit55ce0da1da287822e5ffb5fcd6e357180d5ba4cd (patch)
tree77961be3162f20856cc9ef33658cee08450b9368 /block/blk-timeout.c
parentnvme: add missing unmaps in nvme_queue_rq (diff)
downloadlinux-55ce0da1da287822e5ffb5fcd6e357180d5ba4cd.tar.xz
linux-55ce0da1da287822e5ffb5fcd6e357180d5ba4cd.zip
block: fix blk_abort_request for blk-mq drivers
We only added the request to the request list for the !blk-mq case, so we should only delete it in that case as well. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-timeout.c')
-rw-r--r--block/blk-timeout.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/block/blk-timeout.c b/block/blk-timeout.c
index 246dfb16c3d9..aa40aa93381b 100644
--- a/block/blk-timeout.c
+++ b/block/blk-timeout.c
@@ -158,11 +158,13 @@ void blk_abort_request(struct request *req)
{
if (blk_mark_rq_complete(req))
return;
- blk_delete_timer(req);
- if (req->q->mq_ops)
+
+ if (req->q->mq_ops) {
blk_mq_rq_timed_out(req, false);
- else
+ } else {
+ blk_delete_timer(req);
blk_rq_timed_out(req);
+ }
}
EXPORT_SYMBOL_GPL(blk_abort_request);