[SCSI] mpt2sas: Added -ENOMEM return type when allocation fails
authorKashyap, Desai <kashyap.desai@lsi.com>
Thu, 17 Jun 2010 08:17:29 +0000 (13:47 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:02:20 +0000 (12:02 -0500)
In the driver mpt2sas_base_attach subroutine, we need to add
support to return the proper error code when there are memory allocation
failures, e.g. returning -ENOMEM.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/mpt2sas/mpt2sas_base.c

index bb8acf7..d848744 100644 (file)
@@ -3634,8 +3634,10 @@ mpt2sas_base_attach(struct MPT2SAS_ADAPTER *ioc)
                ioc->pd_handles_sz++;
        ioc->pd_handles = kzalloc(ioc->pd_handles_sz,
            GFP_KERNEL);
-       if (!ioc->pd_handles)
+       if (!ioc->pd_handles) {
+               r = -ENOMEM;
                goto out_free_resources;
+       }
 
        ioc->fwfault_debug = mpt2sas_fwfault_debug;
 
@@ -3676,6 +3678,13 @@ mpt2sas_base_attach(struct MPT2SAS_ADAPTER *ioc)
                goto out_free_resources;
        }
 
+       if (!ioc->base_cmds.reply || !ioc->transport_cmds.reply ||
+           !ioc->scsih_cmds.reply || !ioc->tm_cmds.reply ||
+           !ioc->config_cmds.reply || !ioc->ctl_cmds.reply) {
+               r = -ENOMEM;
+               goto out_free_resources;
+       }
+
        init_completion(&ioc->shost_recovery_done);
 
        for (i = 0; i < MPI2_EVENT_NOTIFY_EVENTMASK_WORDS; i++)