From 96f5ebc6d9fc6ec88a1052ce88a5d0725679ba70 Mon Sep 17 00:00:00 2001 From: "Joel D. Diaz" Date: Wed, 10 Oct 2012 10:36:11 +0200 Subject: [PATCH] --- yaml --- r: 343695 b: refs/heads/master c: afd5e34b2bb34881d3a789e62486814a49b47faa h: refs/heads/master i: 343693: 39f5d7e1614e126789bb0b929fd2d5c38484dfe4 343691: 610c396d83ef82911905f7a73032eeaa8ff025c5 343687: 66f1e54dd9022dc147a2d44ce74dc99ec1513d17 343679: ea9d287e44aa248b7871414b0c6a4dea24293a0d v: v3 --- [refs] | 2 +- trunk/drivers/scsi/sd.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 0b9eba2244b8..7d71b48d3589 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 500c152afbafba2adcb23bb2e37b7138eb003b7f +refs/heads/master: afd5e34b2bb34881d3a789e62486814a49b47faa diff --git a/trunk/drivers/scsi/sd.c b/trunk/drivers/scsi/sd.c index 352bc77b7c88..a45e12ac7e28 100644 --- a/trunk/drivers/scsi/sd.c +++ b/trunk/drivers/scsi/sd.c @@ -3116,10 +3116,6 @@ static int __init init_sd(void) if (err) goto err_out; - err = scsi_register_driver(&sd_template.gendrv); - if (err) - goto err_out_class; - sd_cdb_cache = kmem_cache_create("sd_ext_cdb", SD_EXT_CDB_SIZE, 0, 0, NULL); if (!sd_cdb_cache) { @@ -3133,8 +3129,15 @@ static int __init init_sd(void) goto err_out_cache; } + err = scsi_register_driver(&sd_template.gendrv); + if (err) + goto err_out_driver; + return 0; +err_out_driver: + mempool_destroy(sd_cdb_pool); + err_out_cache: kmem_cache_destroy(sd_cdb_cache); @@ -3157,10 +3160,10 @@ static void __exit exit_sd(void) SCSI_LOG_HLQUEUE(3, printk("exit_sd: exiting sd driver\n")); + scsi_unregister_driver(&sd_template.gendrv); mempool_destroy(sd_cdb_pool); kmem_cache_destroy(sd_cdb_cache); - scsi_unregister_driver(&sd_template.gendrv); class_unregister(&sd_disk_class); for (i = 0; i < SD_MAJORS; i++)