diff options
author | Roland Dreier <rdreier@cisco.com> | 2010-04-28 07:39:22 +0200 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-05-02 21:35:23 +0200 |
commit | 3487d9e7c4727b3e587f61d2120e35e34f200faa (patch) | |
tree | 484e78c0ef60b291023f3895a48cc6037c74e6e3 /drivers/scsi/cxgb3i | |
parent | [SCSI] Unexport scsi/scsi.h from headers_install (diff) | |
download | linux-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.c | 4 |
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); |