NVMe CLI Invalid PRP Entry Status Failures

Jeffrey Lien Jeff.Lien at sandisk.com
Thu May 15 07:01:50 PDT 2025


We are seeing invalid PRP entry status failures with transfer lengths > 0x2000 on nvme cli admin-passthru commands.  This started happening on the 6.10 linux kernel version and the commands were working on kernels <= to the 5.15 version.   See example commands below.   I didn't find any obvious commits in that time frame that might be causing these failures.  Does anyone have any insight to any of the changes that might be causing these errors?

Example command: sudo nvme admin-passthru /dev/nvme0 --opcode=0xD2 --cdw10=0x12600 --cdw12=0x00010132 -l 0x2000 -r -b
 
.	Initially any transfer length > 0x2000 fails in invalid PRP entry status
$ sudo nvme admin-passthru /dev/nvme0 --opcode=0xD2 --cdw10=0x12600 --cdw12=0x00010132 -l 0x2000 -r -b Admin Command Vendor Specific is Success and result: 0x00000000
 
$ sudo nvme admin-passthru /dev/nvme0 --opcode=0xD2 --cdw10=0x12600 --cdw12=0x00010132 -l 0x2001 -r -b NVMe status: PRP Offset Invalid: The Offset field for a PRP entry is invalid(0x13)
 
.	After few retries, even lower transfer lengths start failing with same invalid PRP entry
$ sudo nvme admin-passthru /dev/nvme0 --opcode=0xD2 --cdw10=0x12600 --cdw12=0x00010132 -l 0x1000 -r -b NVMe status: PRP Offset Invalid: The Offset field for a PRP entry is invalid(0x13)
 
$ sudo nvme admin-passthru /dev/nvme0 --opcode=0xD2 --cdw10=0x12600 --cdw12=0x00010132 -l 128 -r -b NVMe status: PRP Offset Invalid: The Offset field for a PRP entry is invalid(0x13)


Jeff Lien
SW Tools Development
 

 
2900 37th St NW Building 108 Rochester, MN 55901
Email:  Email: jeff.lien at sandisk.com
Phone: 507.322.2416
Mobile: 507.273-9124




More information about the Linux-nvme mailing list