From 28fee5b5d02d59a2b039c71a0a72292b1bc7f75b Mon Sep 17 00:00:00 2001 From: Gollu Appalanaidu Date: Mon, 19 Oct 2020 12:41:31 +0530 Subject: hw/block/nvme: fix prp mapping status codes Address 0 is not an invalid address. Remove those invalikd checks. Unaligned PRP2 and PRP list entries should result in Invalid PRP Offset status code and not Invalid Field. Fix that. See NVMe Express v1.3d, Section 4.3 ("Physical Region Page Entry and List"). Suggested-by: Keith Busch Signed-off-by: Gollu Appalanaidu Signed-off-by: Klaus Jensen Reviewed-by: Keith Busch --- include/block/nvme.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/block/nvme.h') diff --git a/include/block/nvme.h b/include/block/nvme.h index 6de2d5aa75..8a46d9cf01 100644 --- a/include/block/nvme.h +++ b/include/block/nvme.h @@ -655,6 +655,7 @@ enum NvmeStatusCodes { NVME_MD_SGL_LEN_INVALID = 0x0010, NVME_SGL_DESCR_TYPE_INVALID = 0x0011, NVME_INVALID_USE_OF_CMB = 0x0012, + NVME_INVALID_PRP_OFFSET = 0x0013, NVME_LBA_RANGE = 0x0080, NVME_CAP_EXCEEDED = 0x0081, NVME_NS_NOT_READY = 0x0082, -- cgit v1.2.3