@@ -10579,10 +10579,11 @@ lpfc_prep_embed_io(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
1057910579{
1058010580 struct lpfc_iocbq *piocb = &lpfc_cmd->cur_iocbq;
1058110581 union lpfc_wqe128 *wqe = &lpfc_cmd->cur_iocbq.wqe;
10582- struct sli4_sge *sgl;
10582+ struct sli4_sge_le *sgl;
10583+ u32 type_size;
1058310584
1058410585 /* 128 byte wqe support here */
10585- sgl = (struct sli4_sge *)lpfc_cmd->dma_sgl;
10586+ sgl = (struct sli4_sge_le *)lpfc_cmd->dma_sgl;
1058610587
1058710588 if (phba->fcp_embed_io) {
1058810589 struct fcp_cmnd *fcp_cmnd;
@@ -10591,9 +10592,9 @@ lpfc_prep_embed_io(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
1059110592 fcp_cmnd = lpfc_cmd->fcp_cmnd;
1059210593
1059310594 /* Word 0-2 - FCP_CMND */
10594- wqe->generic.bde.tus.f.bdeFlags =
10595- BUFF_TYPE_BDE_IMMED ;
10596- wqe->generic.bde.tus.f.bdeSize = sgl->sge_len ;
10595+ type_size = le32_to_cpu(sgl->sge_len);
10596+ type_size |= ULP_BDE64_TYPE_BDE_IMMED ;
10597+ wqe->generic.bde.tus.w = type_size ;
1059710598 wqe->generic.bde.addrHigh = 0;
1059810599 wqe->generic.bde.addrLow = 72; /* Word 18 */
1059910600
@@ -10602,13 +10603,13 @@ lpfc_prep_embed_io(struct lpfc_hba *phba, struct lpfc_io_buf *lpfc_cmd)
1060210603
1060310604 /* Word 18-29 FCP CMND Payload */
1060410605 ptr = &wqe->words[18];
10605- memcpy(ptr, fcp_cmnd, sgl->sge_len);
10606+ lpfc_sli_pcimem_bcopy(fcp_cmnd, ptr, le32_to_cpu( sgl->sge_len) );
1060610607 } else {
1060710608 /* Word 0-2 - Inline BDE */
1060810609 wqe->generic.bde.tus.f.bdeFlags = BUFF_TYPE_BDE_64;
10609- wqe->generic.bde.tus.f.bdeSize = sgl->sge_len;
10610- wqe->generic.bde.addrHigh = sgl->addr_hi;
10611- wqe->generic.bde.addrLow = sgl->addr_lo;
10610+ wqe->generic.bde.tus.f.bdeSize = le32_to_cpu( sgl->sge_len) ;
10611+ wqe->generic.bde.addrHigh = le32_to_cpu( sgl->addr_hi) ;
10612+ wqe->generic.bde.addrLow = le32_to_cpu( sgl->addr_lo) ;
1061210613
1061310614 /* Word 10 */
1061410615 bf_set(wqe_dbde, &wqe->generic.wqe_com, 1);
@@ -12301,18 +12302,16 @@ lpfc_sli_abort_els_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb,
1230112302 goto release_iocb;
1230212303 }
1230312304 }
12304-
12305- lpfc_printf_log(phba, KERN_WARNING, LOG_ELS | LOG_SLI,
12306- "0327 Cannot abort els iocb x%px "
12307- "with io cmd xri %x abort tag : x%x, "
12308- "abort status %x abort code %x\n",
12309- cmdiocb, get_job_abtsiotag(phba, cmdiocb),
12310- (phba->sli_rev == LPFC_SLI_REV4) ?
12311- get_wqe_reqtag(cmdiocb) :
12312- cmdiocb->iocb.un.acxri.abortContextTag,
12313- ulp_status, ulp_word4);
12314-
1231512305 }
12306+
12307+ lpfc_printf_log(phba, KERN_INFO, LOG_ELS | LOG_SLI,
12308+ "0327 Abort els iocb complete x%px with io cmd xri %x "
12309+ "abort tag x%x abort status %x abort code %x\n",
12310+ cmdiocb, get_job_abtsiotag(phba, cmdiocb),
12311+ (phba->sli_rev == LPFC_SLI_REV4) ?
12312+ get_wqe_reqtag(cmdiocb) :
12313+ cmdiocb->iocb.ulpIoTag,
12314+ ulp_status, ulp_word4);
1231612315release_iocb:
1231712316 lpfc_sli_release_iocbq(phba, cmdiocb);
1231812317 return;
@@ -12509,10 +12508,10 @@ lpfc_sli_issue_abort_iotag(struct lpfc_hba *phba, struct lpfc_sli_ring *pring,
1250912508 lpfc_printf_vlog(vport, KERN_INFO, LOG_SLI,
1251012509 "0339 Abort IO XRI x%x, Original iotag x%x, "
1251112510 "abort tag x%x Cmdjob : x%px Abortjob : x%px "
12512- "retval x%x : IA %d\n",
12511+ "retval x%x : IA %d cmd_cmpl %ps \n",
1251312512 ulp_context, (phba->sli_rev == LPFC_SLI_REV4) ?
1251412513 cmdiocb->iotag : iotag, iotag, cmdiocb, abtsiocbp,
12515- retval, ia);
12514+ retval, ia, abtsiocbp->cmd_cmpl );
1251612515 if (retval) {
1251712516 cmdiocb->cmd_flag &= ~LPFC_DRIVER_ABORTED;
1251812517 __lpfc_sli_release_iocbq(phba, abtsiocbp);
0 commit comments