From: Vaios Papadimitriou Date: Tue, 8 May 2012 22:01:25 +0000 (-0500) Subject: Fix mailbox and vpi memory leaks (CR 126818) X-Git-Tag: v2.6.39-400.9.0~423^2~123^2~15 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e5603d0e5f171fd115a37e70c9bbb681b3f00c05;p=users%2Fjedix%2Flinux-maple.git Fix mailbox and vpi memory leaks (CR 126818) The driver could hang or crash do to lack of memory. These memory leaks were fixed. commit id: 728599090a9bf3aefb1226cc063295886525cd0e Signed-off-by: Maxim Uvarov --- diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index 32b6d72cd98da..7b6b2aa5795ab 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c @@ -481,6 +481,7 @@ lpfc_mbx_cmpl_resume_rpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) ndlp, NULL); } kfree(elsiocb); + mempool_free(mboxq, phba->mbox_mem_pool); } static int diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index d1d23eed74006..23055b7c29cd5 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -14776,7 +14776,8 @@ lpfc_sli4_resume_rpi(struct lpfc_nodelist *ndlp, mboxq->mbox_cmpl = cmpl; mboxq->context1 = arg; mboxq->context2 = ndlp; - } + } else + mboxq->mbox_cmpl = lpfc_sli_def_mbox_cmpl; mboxq->vport = ndlp->vport; rc = lpfc_sli_issue_mbox(phba, mboxq, MBX_NOWAIT); if (rc == MBX_NOT_FINISHED) {