From: Ming Lei <ming.lei@canonical.com>
Date: Fri, 15 Aug 2014 15:16:32 +0000 (+0800)
Subject: blk-mq: fix WARNING "percpu_ref_kill() called more than once!"
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=dd840087086f3b93ac20f7472b4fca59aff7b79f;p=linux.git

blk-mq: fix WARNING "percpu_ref_kill() called more than once!"

Before doing queue release, the queue has been freezed already
by blk_cleanup_queue(), so needn't to freeze queue for deleting
tag set.

This patch fixes the WARNING of "percpu_ref_kill() called more than once!"
which is triggered during unloading block driver.

Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
---

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 5189cb1e478a6..ac8a0413664e6 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1713,14 +1713,10 @@ static void blk_mq_del_queue_tag_set(struct request_queue *q)
 {
 	struct blk_mq_tag_set *set = q->tag_set;
 
-	blk_mq_freeze_queue(q);
-
 	mutex_lock(&set->tag_list_lock);
 	list_del_init(&q->tag_set_list);
 	blk_mq_update_tag_set_depth(set);
 	mutex_unlock(&set->tag_list_lock);
-
-	blk_mq_unfreeze_queue(q);
 }
 
 static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set,