]> www.infradead.org Git - users/hch/block.git/commitdiff
blk-mq: handle already freed tags gracefully in blk_mq_free_rqs
authorMing Lei <ming.lei@redhat.com>
Fri, 18 Feb 2022 08:17:17 +0000 (09:17 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 2 Mar 2022 14:44:41 +0000 (16:44 +0200)
To simplify further changes allow for double calling blk_mq_free_rqs on
a queue.

Signed-off-by: Ming Lei <ming.lei@redhat.com>
[hch: split out from a larger patch]
Signed-off-by: Christoph Hellwig <hch@lst.de>
block/blk-mq.c

index 2204affde9b0bb906f7fbf443a8028a67f627511..62526bcea1e16611bf3b400b7b7edd411be5fa62 100644 (file)
@@ -3065,6 +3065,9 @@ void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags,
        struct blk_mq_tags *drv_tags;
        struct page *page;
 
+       if (list_empty(&tags->page_list))
+               return;
+
        if (blk_mq_is_shared_tags(set->flags))
                drv_tags = set->shared_tags;
        else