[SCSI] mpt2sas: return -ENOMEM if memory allocation failed.
authorKashyap, Desai <kashyap.desai@lsi.com>
Wed, 17 Mar 2010 10:56:48 +0000 (16:26 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 11 Apr 2010 14:24:01 +0000 (09:24 -0500)
Added proper return type values in case memory allocation failed.

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 6f78634..6c384da 100644 (file)
@@ -3580,8 +3580,10 @@ mpt2sas_base_attach(struct MPT2SAS_ADAPTER *ioc)
 
        ioc->pfacts = kcalloc(ioc->facts.NumberOfPorts,
            sizeof(Mpi2PortFactsReply_t), GFP_KERNEL);
-       if (!ioc->pfacts)
+       if (!ioc->pfacts) {
+               r = -ENOMEM;
                goto out_free_resources;
+       }
 
        for (i = 0 ; i < ioc->facts.NumberOfPorts; i++) {
                r = _base_get_port_facts(ioc, i, CAN_SLEEP);
@@ -3627,6 +3629,13 @@ mpt2sas_base_attach(struct MPT2SAS_ADAPTER *ioc)
        ioc->ctl_cmds.status = MPT2_CMD_NOT_USED;
        mutex_init(&ioc->ctl_cmds.mutex);
 
+       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++)