drivers/nvme: Make sure PRP2 value is encoded in little endian.

To avoid issue in address translation when CPU is running in big endian.

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
This commit is contained in:
Tomasz Bursztyka 2023-09-15 12:21:34 +02:00 committed by Carles Cufí
commit f21760252a

View file

@ -591,9 +591,9 @@ static int nvme_cmd_qpair_fill_dptr(struct nvme_cmd_qpair *qpair,
request->cmd.dptr.prp1 =
(uint64_t)sys_cpu_to_le64(request->payload);
if ((uintptr_t)request->payload & NVME_PBAO_MASK) {
request->cmd.dptr.prp2 =
request->cmd.dptr.prp2 = (uint64_t)sys_cpu_to_le64(
NVME_PRP_NEXT_PAGE(
(uintptr_t)request->payload);
(uintptr_t)request->payload));
} else {
request->cmd.dptr.prp2 = 0;
}