diff options
author | James Smart <james.smart@emulex.com> | 2010-02-26 22:12:57 +0300 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-03-03 16:38:34 +0300 |
commit | 9f1177a3f8eee22427eb97e6e00b62ff0be2871f (patch) | |
tree | a004d94e7d406f791e420eec7c02c2d5bcf70587 /drivers/scsi/lpfc/lpfc_vport.c | |
parent | 43aebfa12e7631124472237dc945c27af54ca646 (diff) | |
download | linux-9f1177a3f8eee22427eb97e6e00b62ff0be2871f.tar.xz |
[SCSI] lpfc 8.3.10: Fix Initialization issues
- Add NULL checks to the pointers for the config_async mailbox
and dump_wakeup_params mailbox.
- Add code to check return value of lpfc_read_sparams everywhere
and handle failures appropriately.
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_vport.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_vport.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c index dc86e873102a..869f76cbc58a 100644 --- a/drivers/scsi/lpfc/lpfc_vport.c +++ b/drivers/scsi/lpfc/lpfc_vport.c @@ -123,7 +123,12 @@ lpfc_vport_sparm(struct lpfc_hba *phba, struct lpfc_vport *vport) } mb = &pmb->u.mb; - lpfc_read_sparam(phba, pmb, vport->vpi); + rc = lpfc_read_sparam(phba, pmb, vport->vpi); + if (rc) { + mempool_free(pmb, phba->mbox_mem_pool); + return -ENOMEM; + } + /* * Grab buffer pointer and clear context1 so we can use * lpfc_sli_issue_box_wait |