diff options
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 dc86e873102..869f76cbc58 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  |