blk-mq: fix regression from commit 624dbe475416
authorJens Axboe <axboe@fb.com>
Wed, 4 Jun 2014 15:11:53 +0000 (09:11 -0600)
committerJens Axboe <axboe@fb.com>
Wed, 4 Jun 2014 15:11:53 +0000 (09:11 -0600)
When the code was collapsed to avoid duplication, the recent patch
for ensuring that a queue is idled before free was dropped, which was
added by commit 19c5d84f14d2.

Add back the blk_mq_tag_idle(), to ensure we don't leak a reference
to an active queue when it is freed.

Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c

index 96e6eb6..4e8e8cf 100644 (file)
@@ -1552,6 +1552,8 @@ static void blk_mq_exit_hw_queues(struct request_queue *q,
                if (i == nr_queue)
                        break;
 
+               blk_mq_tag_idle(hctx);
+
                if (set->ops->exit_hctx)
                        set->ops->exit_hctx(hctx, i);