cxgb3i: Fix error path for module init
PATCH 1/1 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 <[email protected]>
--- drivers/scsi/cxgb3i/cxgb3i_init.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
drivers/scsi/cxgb3i/cxgb3i_init.c +3 -1
@@ -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);
Signature · 2 lines
Roland Dreier <[email protected]> || For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/index.html
Quoted 17 lines · Roland Dreier
If
cxgb3i_pdu_init()fails, then it appears thatcxgb3i_iscsi_init()will not be cleaned up, leading to the iscsi transport being left registered. Fix this by adding a call tocxgb3i_iscsi_cleanup()on the error path.Signed-off-by Roland Dreier<[email protected]>--- drivers/scsi/cxgb3i/cxgb3i_init.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)drivers/scsi/cxgb3i/cxgb3i_init.c +0
-0@@ -104,8 +104,10 @@ static int __init cxgb3i_init_module(void)return err;
drivers/scsi/cxgb3i/cxgb3i_init.c static int __init cxgb3i_init_module(void) · line 113
Quoted 10 lines
drivers/scsi/cxgb3i/cxgb3i_init.c +3
-1err =cxgb3i_pdu_init (); -if (err<0 ) +if (err<0 ) { +cxgb3i_iscsi_cleanup ();return err; + }cxgb3_register_client (&t3c_client);
Looks good to me.
Reviewed-by Mike Christie <[email protected]>