From: Zizhi Wo In null_exit(), unregister_blkdev() is called before the null_blk instances are destroyed, which is inconsistent with the cleanup order in null_init(). Move it after null_destroy_dev() so that teardown happens in the reverse order of initialization. No functional change intended. Suggested-by: Bart Van Assche Signed-off-by: Zizhi Wo Reviewed-by: Damien Le Moal Reviewed-by: Bart Van Assche Reviewed-by: Nilay Shroff --- drivers/block/null_blk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c index 4613035222cd..6cb213779cc5 100644 --- a/drivers/block/null_blk/main.c +++ b/drivers/block/null_blk/main.c @@ -2194,8 +2194,6 @@ static void __exit null_exit(void) configfs_unregister_subsystem(&nullb_subsys); - unregister_blkdev(null_major, "nullb"); - mutex_lock(&lock); while (!list_empty(&nullb_list)) { nullb = list_entry(nullb_list.next, struct nullb, list); @@ -2203,6 +2201,8 @@ static void __exit null_exit(void) } mutex_unlock(&lock); + unregister_blkdev(null_major, "nullb"); + if (tag_set.ops) blk_mq_free_tag_set(&tag_set); -- 2.52.0