1 From 52b9c330c6a8a4b5a1819bdaddf4ec76ab571e81 Mon Sep 17 00:00:00 2001
2 From: Omar Sandoval <osandov@fb.com>
3 Date: Wed, 8 Jun 2016 18:22:20 -0700
4 Subject: blk-mq: actually hook up defer list when running requests
6 From: Omar Sandoval <osandov@fb.com>
8 commit 52b9c330c6a8a4b5a1819bdaddf4ec76ab571e81 upstream.
10 If ->queue_rq() returns BLK_MQ_RQ_QUEUE_OK, we use continue and skip
11 over the rest of the loop body. However, dptr is assigned later in the
12 loop body, and the BLK_MQ_RQ_QUEUE_OK case is exactly the case that we'd
15 NVMe isn't actually using BLK_MQ_F_DEFER_ISSUE yet, nor is any other
16 in-tree driver, but if the code's going to be there, it might as well
19 Fixes: 74c450521dd8 ("blk-mq: add a 'list' parameter to ->queue_rq()")
20 Signed-off-by: Omar Sandoval <osandov@fb.com>
21 Signed-off-by: Jens Axboe <axboe@fb.com>
22 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
26 1 file changed, 1 insertion(+), 1 deletion(-)
30 @@ -784,7 +784,7 @@ static void __blk_mq_run_hw_queue(struct
32 case BLK_MQ_RQ_QUEUE_OK:
36 case BLK_MQ_RQ_QUEUE_BUSY:
37 list_add(&rq->queuelist, &rq_list);
38 __blk_mq_requeue_request(rq);