Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd840087 authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe
Browse files

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: default avatarMing Lei <ming.lei@canonical.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent c9d26423
Loading
Loading
Loading
Loading
+0 −4
Original line number Original line Diff line number Diff line
@@ -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;
	struct blk_mq_tag_set *set = q->tag_set;


	blk_mq_freeze_queue(q);

	mutex_lock(&set->tag_list_lock);
	mutex_lock(&set->tag_list_lock);
	list_del_init(&q->tag_set_list);
	list_del_init(&q->tag_set_list);
	blk_mq_update_tag_set_depth(set);
	blk_mq_update_tag_set_depth(set);
	mutex_unlock(&set->tag_list_lock);
	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,
static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set,