From: Roland Dreier Date: Wed, 28 Apr 2010 05:39:22 +0000 (-0700) Subject: [SCSI] cxgb3i: Fix error path for module init X-Git-Tag: v2.6.35-rc1~470^2^2~53 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3487d9e7c4727b3e587f61d2120e35e34f200faa;p=karo-tx-linux.git [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 Reviewed-by: Mike Christie Cc: Karen Xie Signed-off-by: James Bottomley --- 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);