aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2007-08-15 14:56:54 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-10-12 14:51:29 -0400
commita60ebc52cbfafc291c6b0b89e41ecaf3685c8e2a (patch)
tree55b512e8de7ac38df5115b854890d82344070633 /arch
parentc131993b4cbfb6d564619e609b3d0b471ec52c5d (diff)
[SCSI] simscsi: Free scsi host on error
If scsi_add_host returned an error, the host would never be freed. We need to call scsi_host_put() if an error happens. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/ia64/hp/sim/simscsi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/ia64/hp/sim/simscsi.c b/arch/ia64/hp/sim/simscsi.c
index e62694f8ef75..a43e1e1822ad 100644
--- a/arch/ia64/hp/sim/simscsi.c
+++ b/arch/ia64/hp/sim/simscsi.c
@@ -373,8 +373,13 @@ simscsi_init(void)
373 return -ENOMEM; 373 return -ENOMEM;
374 374
375 error = scsi_add_host(host, NULL); 375 error = scsi_add_host(host, NULL);
376 if (!error) 376 if (error)
377 scsi_scan_host(host); 377 goto free_host;
378 scsi_scan_host(host);
379 return 0;
380
381 free_host:
382 scsi_host_put(host);
378 return error; 383 return error;
379} 384}
380 385