nvme-pci: clear the prp2 field when not used
If the prp2 field is not filled in nvme_setup_prp_simple(), the prp2 field is garbage data. According to nvme spec, the prp2 is reserved if the data transfer does not cross a memory page boundary, so clear it to zero if it is not used. Signed-off-by: Lei Rao <lei.rao@intel.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
7d4a93176e
commit
a56ea6147f
1 changed files with 2 additions and 0 deletions
|
@ -797,6 +797,8 @@ static blk_status_t nvme_setup_prp_simple(struct nvme_dev *dev,
|
||||||
cmnd->dptr.prp1 = cpu_to_le64(iod->first_dma);
|
cmnd->dptr.prp1 = cpu_to_le64(iod->first_dma);
|
||||||
if (bv->bv_len > first_prp_len)
|
if (bv->bv_len > first_prp_len)
|
||||||
cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma + first_prp_len);
|
cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma + first_prp_len);
|
||||||
|
else
|
||||||
|
cmnd->dptr.prp2 = 0;
|
||||||
return BLK_STS_OK;
|
return BLK_STS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue