summaryrefslogtreecommitdiff
path: root/scripts/cleanpatch
diff options
context:
space:
mode:
authorAaron Williams <[email protected]>2019-08-22 20:37:26 -0700
committerTom Rini <[email protected]>2019-08-26 11:46:28 -0400
commitb21dcebfa6b372cd91bf42a30f1d8a1a525f329b (patch)
treeb569c1f257b8ccda9ea47714414147ce7adbfc4d /scripts/cleanpatch
parent4ebeb4c559f3604169a54f3a318bdabcc6047320 (diff)
nvme: Fix PRP Offset Invalid
When large writes take place I saw a Samsung EVO 970+ return a status value of 0x13, PRP Offset Invalid. I tracked this down to the improper handling of PRP entries. The blocks the PRP entries are placed in cannot cross a page boundary and thus should be allocated on page boundaries. This is how the Linux kernel driver works. With this patch, the PRP pool is allocated on a page boundary and other than the very first allocation, the pool size is a multiple of the page size. Each page can hold (4096 / 8) - 1 entries since the last entry must point to the next page in the pool. Signed-off-by: Aaron Williams <[email protected]> Reviewed-by: Bin Meng <[email protected]>
Diffstat (limited to 'scripts/cleanpatch')
0 files changed, 0 insertions, 0 deletions