diff mbox series

[5/6] mpi3mr: NVMe commands size greater than 8K fails

Message ID 20230228140835.4075-6-ranjan.kumar@broadcom.com
State New
Headers show
Series [1/6] mpi3mr: IOCTL timeout when disable/enable Interpt | expand

Commit Message

Ranjan Kumar Feb. 28, 2023, 2:08 p.m. UTC
A wrong variable is checked while populating PRP entries in the PRP
page and that results in failure .Hence 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>
---
 drivers/scsi/mpi3mr/mpi3mr_app.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/drivers/scsi/mpi3mr/mpi3mr_app.c b/drivers/scsi/mpi3mr/mpi3mr_app.c
index 9baac224b213..49318ba893c8 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_app.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_app.c
@@ -894,7 +894,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__);
@@ -903,7 +903,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;
 		}
 
 		/*