memstick: don't allocate unused major for ms_block

When alloc_disk(0) is used the ->major number is completely ignored.
All devices are allocated with a major of BLOCK_EXT_MAJOR.

So remove registration and deregistration of 'major'.

Link: http://lkml.kernel.org/r/20160602064318.4403.49955.stgit@noble
Signed-off-by: NeilBrown <neilb@suse.com>
Cc: Keith Busch <keith.busch@intel.com>
Cc: Jens Axboe <axboe@fb.com>
Cc: Maxim Levitsky <maximlevitsky@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
NeilBrown 2016-08-02 14:03:30 -07:00 committed by Linus Torvalds
parent bc083a64b6
commit ca945e7152

View File

@ -2338,23 +2338,11 @@ static struct memstick_driver msb_driver = {
.resume = msb_resume
};
static int major;
static int __init msb_init(void)
{
int rc = register_blkdev(0, DRIVER_NAME);
if (rc < 0) {
pr_err("failed to register major (error %d)\n", rc);
return rc;
}
major = rc;
rc = memstick_register_driver(&msb_driver);
if (rc) {
unregister_blkdev(major, DRIVER_NAME);
int rc = memstick_register_driver(&msb_driver);
if (rc)
pr_err("failed to register memstick driver (error %d)\n", rc);
}
return rc;
}
@ -2362,7 +2350,6 @@ static int __init msb_init(void)
static void __exit msb_exit(void)
{
memstick_unregister_driver(&msb_driver);
unregister_blkdev(major, DRIVER_NAME);
idr_destroy(&msb_disk_idr);
}