summaryrefslogtreecommitdiff
path: root/block/blk-mq.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@fb.com>2014-06-04 09:11:53 -0600
committerJens Axboe <axboe@fb.com>2014-06-04 09:11:53 -0600
commitf899fed4421d6b098ed6a9d69303c70e590bf2c0 (patch)
tree0a0264c0cd6169aa900f6de1f44fbc0f6c7ddd9d /block/blk-mq.c
parentff87bcec197774f938fbd1fe996068005f3dfb3c (diff)
downloadlwn-f899fed4421d6b098ed6a9d69303c70e590bf2c0.tar.gz
lwn-f899fed4421d6b098ed6a9d69303c70e590bf2c0.zip
blk-mq: fix regression from commit 624dbe475416
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>
Diffstat (limited to 'block/blk-mq.c')
-rw-r--r--block/blk-mq.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 96e6eb638f00..4e8e8cf00815 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -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);