summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/cxgb3i
diff options
context:
space:
mode:
authorRoland Dreier <rdreier@cisco.com>2010-04-28 07:39:22 +0200
committerJames Bottomley <James.Bottomley@suse.de>2010-05-02 21:35:23 +0200
commit3487d9e7c4727b3e587f61d2120e35e34f200faa (patch)
tree484e78c0ef60b291023f3895a48cc6037c74e6e3 /drivers/scsi/cxgb3i
parent[SCSI] Unexport scsi/scsi.h from headers_install (diff)
downloadlinux-3487d9e7c4727b3e587f61d2120e35e34f200faa.tar.xz
linux-3487d9e7c4727b3e587f61d2120e35e34f200faa.zip
[SCSI] cxgb3i: Fix error path for module init
If cxgb3i_pdu_init() fails, then it appears that cxgb3i_iscsi_init() will not be cleaned up, leading to the iscsi transport being left registered. Fix this by adding a call to cxgb3i_iscsi_cleanup() on the error path. Signed-off-by: Roland Dreier <rolandd@cisco.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Cc: Karen Xie <kxie@chelsio.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/cxgb3i')
-rw-r--r--drivers/scsi/cxgb3i/cxgb3i_init.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/cxgb3i/cxgb3i_init.c b/drivers/scsi/cxgb3i/cxgb3i_init.c
index d0ab23a58355..685af3698518 100644
--- a/drivers/scsi/cxgb3i/cxgb3i_init.c
+++ b/drivers/scsi/cxgb3i/cxgb3i_init.c
@@ -104,8 +104,10 @@ static int __init cxgb3i_init_module(void)
return err;
err = cxgb3i_pdu_init();
- if (err < 0)
+ if (err < 0) {
+ cxgb3i_iscsi_cleanup();
return err;
+ }
cxgb3_register_client(&t3c_client);