NVMe: nvme_core_exit() should do cleanup in the reverse order as nvme_core_init does
authorWang Sheng-Hui <shhuiw@foxmail.com>
Thu, 28 Apr 2016 08:19:31 +0000 (16:19 +0800)
committerJens Axboe <axboe@fb.com>
Mon, 2 May 2016 15:05:03 +0000 (09:05 -0600)
nvme_core_init does:
    1) register_blkdev
    2) __register_chrdev
    3) class_create

nvme_core_exit should do cleanup in the reverse order.

Signed-off-by: Wang Sheng-Hui <shhuiw@foxmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/nvme/host/core.c

index 4eb57593358796c1727045e0d91b3e3286c178de..20559ad98be13dc65f4753d6ceec1a67bb2756f8 100644 (file)
@@ -1715,9 +1715,9 @@ int __init nvme_core_init(void)
 
 void nvme_core_exit(void)
 {
-       unregister_blkdev(nvme_major, "nvme");
        class_destroy(nvme_class);
        __unregister_chrdev(nvme_char_major, 0, NVME_MINORS, "nvme");
+       unregister_blkdev(nvme_major, "nvme");
 }
 
 MODULE_LICENSE("GPL");