diff options
| author | Ming Lei <ming.lei@canonical.com> | 2014-08-15 11:16:32 -0400 |
|---|---|---|
| committer | Jens Axboe <axboe@fb.com> | 2014-08-15 14:38:20 -0400 |
| commit | dd840087086f3b93ac20f7472b4fca59aff7b79f (patch) | |
| tree | 7041c173625a6099816b920f8f27c1b044a5fda4 | |
| parent | c9d26423e56ce1ab4d786f92aebecf859d419293 (diff) | |
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>
| -rw-r--r-- | block/blk-mq.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/block/blk-mq.c b/block/blk-mq.c index 5189cb1e478a..ac8a0413664e 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) | |||
| 1713 | { | 1713 | { |
| 1714 | struct blk_mq_tag_set *set = q->tag_set; | 1714 | struct blk_mq_tag_set *set = q->tag_set; |
| 1715 | 1715 | ||
| 1716 | blk_mq_freeze_queue(q); | ||
| 1717 | |||
| 1718 | mutex_lock(&set->tag_list_lock); | 1716 | mutex_lock(&set->tag_list_lock); |
| 1719 | list_del_init(&q->tag_set_list); | 1717 | list_del_init(&q->tag_set_list); |
| 1720 | blk_mq_update_tag_set_depth(set); | 1718 | blk_mq_update_tag_set_depth(set); |
| 1721 | mutex_unlock(&set->tag_list_lock); | 1719 | mutex_unlock(&set->tag_list_lock); |
| 1722 | |||
| 1723 | blk_mq_unfreeze_queue(q); | ||
| 1724 | } | 1720 | } |
| 1725 | 1721 | ||
| 1726 | static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set, | 1722 | static void blk_mq_add_queue_tag_set(struct blk_mq_tag_set *set, |
