Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] sr: fix error handling in module_init

Sweep registered blkdev when scsi_register_driver has failed.

Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>

authored by

Akinobu Mita and committed by
James Bottomley
da3962fe a5785037

+5 -1
+5 -1
drivers/scsi/sr.c
··· 885 885 rc = register_blkdev(SCSI_CDROM_MAJOR, "sr"); 886 886 if (rc) 887 887 return rc; 888 - return scsi_register_driver(&sr_template.gendrv); 888 + rc = scsi_register_driver(&sr_template.gendrv); 889 + if (rc) 890 + unregister_blkdev(SCSI_CDROM_MAJOR, "sr"); 891 + 892 + return rc; 889 893 } 890 894 891 895 static void __exit exit_sr(void)