* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.