diff options
author | Christoph Hellwig <hch@lst.de> | 2015-10-30 20:47:04 +0800 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-11-24 15:24:10 -0700 |
commit | 55ce0da1da287822e5ffb5fcd6e357180d5ba4cd (patch) | |
tree | 77961be3162f20856cc9ef33658cee08450b9368 /block/blk-timeout.c | |
parent | bf508e910b02a6107a5aa054e03c6fc8a65dae1e (diff) | |
download | linux-55ce0da1da287822e5ffb5fcd6e357180d5ba4cd.tar.gz linux-55ce0da1da287822e5ffb5fcd6e357180d5ba4cd.tar.bz2 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.c | 8 |
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); |