NVMe CLI Invalid PRP Entry Status Failures
Keith Busch
kbusch at kernel.org
Thu May 15 07:18:09 PDT 2025
On Thu, May 15, 2025 at 02:01:50PM +0000, Jeffrey Lien wrote:
>
> 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
The only thing that comes to mind is that we allow dword aligned buffers
now. The driver used to require 4k aligned, but nvme spec doesn't
require that. My guess is your device is incorrectly rejecting admin
commands that have a dword offset in PRP1. Do you have any visibility
into the device's reasoning for this response here?
More information about the Linux-nvme
mailing list