scsi: mpi3mr: NVMe command size greater than 8K fails
[ Upstream commit 4f297e856a7b5da2f2c66a12e739666e23943560 ] A wrong variable is checked while populating PRP entries in the PRP page and this results in failure. No PRP entries in the PRP page were successfully created and any NVMe Encapsulated commands with PRP of size greater than 8K failed. Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com> Signed-off-by: Sreekanth Reddy <sreekanth.reddy@broadcom.com> Link: https://lore.kernel.org/r/20230228140835.4075-6-ranjan.kumar@broadcom.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
92548801f0
commit
a0b33e1d8d
@ -886,7 +886,7 @@ static int mpi3mr_build_nvme_prp(struct mpi3mr_ioc *mrioc,
|
||||
* each time through the loop.
|
||||
*/
|
||||
*prp_entry = cpu_to_le64(dma_addr);
|
||||
if (*prp1_entry & sgemod_mask) {
|
||||
if (*prp_entry & sgemod_mask) {
|
||||
dprint_bsg_err(mrioc,
|
||||
"%s: PRP address collides with SGE modifier\n",
|
||||
__func__);
|
||||
@ -895,7 +895,7 @@ static int mpi3mr_build_nvme_prp(struct mpi3mr_ioc *mrioc,
|
||||
*prp_entry &= ~sgemod_mask;
|
||||
*prp_entry |= sgemod_val;
|
||||
prp_entry++;
|
||||
prp_entry_dma++;
|
||||
prp_entry_dma += prp_size;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user