From f21760252a23fc306f09cbe5aee5f9529ae9834b Mon Sep 17 00:00:00 2001 From: Tomasz Bursztyka Date: Fri, 15 Sep 2023 12:21:34 +0200 Subject: [PATCH] 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 --- drivers/disk/nvme/nvme_cmd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/disk/nvme/nvme_cmd.c b/drivers/disk/nvme/nvme_cmd.c index 14c662ffe4e..8942e80576d 100644 --- a/drivers/disk/nvme/nvme_cmd.c +++ b/drivers/disk/nvme/nvme_cmd.c @@ -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; }