diff options
author | James Smart <james.smart@emulex.com> | 2012-05-09 21:17:16 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-05-17 05:59:11 -0400 |
commit | 37db57e32bd1b00170fdd38ab36a7f2acdd7557c (patch) | |
tree | 8b37b9f9fb613ad182eef0e76b6f76c2830ac901 | |
parent | 4f2e66c6d225a14fcf77d826fe71f6137cb27352 (diff) |
[SCSI] lpfc 8.3.31: Fix Read Link status data
Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com>
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/lpfc/lpfc_els.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index c89c5c239e7e..2ecd719cc2aa 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -5198,7 +5198,6 @@ lpfc_els_rsp_rls_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
5198 | } | 5198 | } |
5199 | 5199 | ||
5200 | cmdsize = sizeof(struct RLS_RSP) + sizeof(uint32_t); | 5200 | cmdsize = sizeof(struct RLS_RSP) + sizeof(uint32_t); |
5201 | mempool_free(pmb, phba->mbox_mem_pool); | ||
5202 | elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize, | 5201 | elsiocb = lpfc_prep_els_iocb(phba->pport, 0, cmdsize, |
5203 | lpfc_max_els_tries, ndlp, | 5202 | lpfc_max_els_tries, ndlp, |
5204 | ndlp->nlp_DID, ELS_CMD_ACC); | 5203 | ndlp->nlp_DID, ELS_CMD_ACC); |
@@ -5206,8 +5205,10 @@ lpfc_els_rsp_rls_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
5206 | /* Decrement the ndlp reference count from previous mbox command */ | 5205 | /* Decrement the ndlp reference count from previous mbox command */ |
5207 | lpfc_nlp_put(ndlp); | 5206 | lpfc_nlp_put(ndlp); |
5208 | 5207 | ||
5209 | if (!elsiocb) | 5208 | if (!elsiocb) { |
5209 | mempool_free(pmb, phba->mbox_mem_pool); | ||
5210 | return; | 5210 | return; |
5211 | } | ||
5211 | 5212 | ||
5212 | icmd = &elsiocb->iocb; | 5213 | icmd = &elsiocb->iocb; |
5213 | icmd->ulpContext = rxid; | 5214 | icmd->ulpContext = rxid; |
@@ -5224,7 +5225,7 @@ lpfc_els_rsp_rls_acc(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
5224 | rls_rsp->primSeqErrCnt = cpu_to_be32(mb->un.varRdLnk.primSeqErrCnt); | 5225 | rls_rsp->primSeqErrCnt = cpu_to_be32(mb->un.varRdLnk.primSeqErrCnt); |
5225 | rls_rsp->invalidXmitWord = cpu_to_be32(mb->un.varRdLnk.invalidXmitWord); | 5226 | rls_rsp->invalidXmitWord = cpu_to_be32(mb->un.varRdLnk.invalidXmitWord); |
5226 | rls_rsp->crcCnt = cpu_to_be32(mb->un.varRdLnk.crcCnt); | 5227 | rls_rsp->crcCnt = cpu_to_be32(mb->un.varRdLnk.crcCnt); |
5227 | 5228 | mempool_free(pmb, phba->mbox_mem_pool); | |
5228 | /* Xmit ELS RLS ACC response tag <ulpIoTag> */ | 5229 | /* Xmit ELS RLS ACC response tag <ulpIoTag> */ |
5229 | lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_ELS, | 5230 | lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_ELS, |
5230 | "2874 Xmit ELS RLS ACC response tag x%x xri x%x, " | 5231 | "2874 Xmit ELS RLS ACC response tag x%x xri x%x, " |