mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-27 00:30:57 +07:00
scsi: lpfc: Fix NVME CMD IU byte swapped word 1 problem
Word 1 in NVME CMD IU appears byte swapped from value placed in WQE Should be Big Endian value in WQE word 16 Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com> Signed-off-by: James Smart <james.smart@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
8b3616392d
commit
b06a622ffe
@ -620,15 +620,15 @@ lpfc_nvme_adj_fcp_sgls(struct lpfc_vport *vport,
|
||||
* Embed the payload in the last half of the WQE
|
||||
* WQE words 16-30 get the NVME CMD IU payload
|
||||
*
|
||||
* WQE Word 16 is already setup with flags
|
||||
* WQE words 17-19 get payload Words 2-4
|
||||
* WQE words 16-19 get payload Words 1-4
|
||||
* WQE words 20-21 get payload Words 6-7
|
||||
* WQE words 22-29 get payload Words 16-23
|
||||
*/
|
||||
wptr = &wqe->words[17]; /* WQE ptr */
|
||||
wptr = &wqe->words[16]; /* WQE ptr */
|
||||
dptr = (uint32_t *)nCmd->cmdaddr; /* payload ptr */
|
||||
dptr += 2; /* Skip Words 0-1 in payload */
|
||||
dptr++; /* Skip Word 0 in payload */
|
||||
|
||||
*wptr++ = *dptr++; /* Word 1 */
|
||||
*wptr++ = *dptr++; /* Word 2 */
|
||||
*wptr++ = *dptr++; /* Word 3 */
|
||||
*wptr++ = *dptr++; /* Word 4 */
|
||||
@ -978,9 +978,6 @@ lpfc_nvme_prep_io_cmd(struct lpfc_vport *vport,
|
||||
bf_set(wqe_cmd_type, &wqe->generic.wqe_com,
|
||||
NVME_WRITE_CMD);
|
||||
|
||||
/* Word 16 */
|
||||
wqe->words[16] = LPFC_NVME_EMBED_WRITE;
|
||||
|
||||
phba->fc4NvmeOutputRequests++;
|
||||
} else {
|
||||
/* Word 7 */
|
||||
@ -1002,9 +999,6 @@ lpfc_nvme_prep_io_cmd(struct lpfc_vport *vport,
|
||||
bf_set(wqe_cmd_type, &wqe->generic.wqe_com,
|
||||
NVME_READ_CMD);
|
||||
|
||||
/* Word 16 */
|
||||
wqe->words[16] = LPFC_NVME_EMBED_READ;
|
||||
|
||||
phba->fc4NvmeInputRequests++;
|
||||
}
|
||||
} else {
|
||||
@ -1026,9 +1020,6 @@ lpfc_nvme_prep_io_cmd(struct lpfc_vport *vport,
|
||||
/* Word 11 */
|
||||
bf_set(wqe_cmd_type, &wqe->generic.wqe_com, NVME_READ_CMD);
|
||||
|
||||
/* Word 16 */
|
||||
wqe->words[16] = LPFC_NVME_EMBED_CMD;
|
||||
|
||||
phba->fc4NvmeControlRequests++;
|
||||
}
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user