sr: fix error handling in module_init
PATCH 1/1 sr: fix error handling in module_init
Sweep registered blkdev when scsi_register_driver has failed.
Cc Jens Axboe <[email protected]>
Signed-off-by Akinobu Mita <[email protected]>
drivers/scsi/sr.c +5 -1
@@ -885,7 +885,11 @@ static int __init init_sr(void) rc =register_blkdev (SCSI_CDROM_MAJOR ,"sr" );if (rc)return rc; -return scsi_register_driver (&sr_template.gendrv); + rc =scsi_register_driver (&sr_template.gendrv); +if (rc) +unregister_blkdev (SCSI_CDROM_MAJOR ,"sr" ); + +return rc; } static void __exit exit_sr(void)
Quoted 10 lines · Akinobu Mita
Sweep registered blkdev when
scsi_register_driverhas failed.Cc Jens Axboe <[email protected]>Signed-off-by Akinobu Mita <[email protected]>Index:
2.6-rc/drivers/scsi/sr.c
===================================================================
drivers/scsi/sr.c static int __init init_sr(void) · line 892
Quoted 9 lines
drivers/scsi/sr.c +5
-1@@ -885,7 +885,11 @@ static int __init init_sr(void) rc =register_blkdev (SCSI_CDROM_MAJOR ,"sr" );if (rc)return rc; -return scsi_register_driver (&sr_template.gendrv); + rc =scsi_register_driver (&sr_template.gendrv); +if (rc) +unregister_blkdev (SCSI_CDROM_MAJOR ,"sr" ); + +return rc;
Looks good.