pd: fix order of cleaning up the queue and freeing the tagset
authorGuoqing Jiang <jiangguoqing@kylinos.cn>
Tue, 6 Jul 2021 01:07:34 +0000 (09:07 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 15 Jul 2021 15:29:22 +0000 (09:29 -0600)
We must release the queue before freeing the tagset.

Fixes: 262d431f9000 ("pd: use blk_mq_alloc_disk and blk_cleanup_disk")
Signed-off-by: Guoqing Jiang <jiangguoqing@kylinos.cn>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/20210706010734.1356066-1-guoqing.jiang@linux.dev
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/paride/pd.c

index 3b2b8e8..9b32989 100644 (file)
@@ -1014,8 +1014,8 @@ static void __exit pd_exit(void)
                if (p) {
                        disk->gd = NULL;
                        del_gendisk(p);
-                       blk_mq_free_tag_set(&disk->tag_set);
                        blk_cleanup_disk(p);
+                       blk_mq_free_tag_set(&disk->tag_set);
                        pi_release(disk->pi);
                }
        }