aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-05-09 21:17:16 -0400
committerJames Bottomley <JBottomley@Parallels.com>2012-05-17 05:59:11 -0400
commit37db57e32bd1b00170fdd38ab36a7f2acdd7557c (patch)
tree8b37b9f9fb613ad182eef0e76b6f76c2830ac901
parent4f2e66c6d225a14fcf77d826fe71f6137cb27352 (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.c7
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, "