* [PATCH] hosts.c fixes for "no error" reported after error scenarios
@ 2008-03-21 21:18 James Smart
0 siblings, 0 replies; only message in thread
From: James Smart @ 2008-03-21 21:18 UTC (permalink / raw)
To: linux-scsi
This patch corrects some cases in scsi_add_host() that fail, but the "error"
return code was not reset after a prior use which set it to a non-error value.
Patch cut against scsi-rc-fixes-2.6
-- james s
Signed-off-by: James Smart <james.smart@emulex.com>
---
hosts.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff -upNr a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c
--- a/drivers/scsi/hosts.c 2008-03-17 09:15:25.000000000 -0400
+++ b/drivers/scsi/hosts.c 2008-03-21 17:10:31.000000000 -0400
@@ -218,18 +218,24 @@ int scsi_add_host(struct Scsi_Host *shos
get_device(&shost->shost_gendev);
- if (shost->transportt->host_size &&
- (shost->shost_data = kzalloc(shost->transportt->host_size,
- GFP_KERNEL)) == NULL)
- goto out_del_classdev;
+ if (shost->transportt->host_size) {
+ shost->shost_data = kzalloc(shost->transportt->host_size,
+ GFP_KERNEL);
+ if (shost->shost_data == NULL) {
+ error = -ENOMEM;
+ goto out_del_classdev;
+ }
+ }
if (shost->transportt->create_work_queue) {
snprintf(shost->work_q_name, KOBJ_NAME_LEN, "scsi_wq_%d",
shost->host_no);
shost->work_q = create_singlethread_workqueue(
shost->work_q_name);
- if (!shost->work_q)
+ if (!shost->work_q) {
+ error = -EINVAL;
goto out_free_shost_data;
+ }
}
error = scsi_sysfs_add_host(shost);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-03-21 21:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-21 21:18 [PATCH] hosts.c fixes for "no error" reported after error scenarios James Smart
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox