]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: mpi3mr: Fix pending I/O counter
authorRanjan Kumar <ranjan.kumar@broadcom.com>
Fri, 11 Apr 2025 11:14:18 +0000 (16:44 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 12 Apr 2025 01:44:58 +0000 (21:44 -0400)
Commit 199510e33dea ("scsi: mpi3mr: Update consumer index of reply
queues after every 100 replies") introduced a regression with the
per-reply queue pending I/O counter which was erroneously decremented,
leading to the counter going negative.

Drop the incorrect atomic decrement for the pending I/O counter.

Fixes: 199510e33dea ("scsi: mpi3mr: Update consumer index of reply queues after every 100 replies")
Cc: stable@vger.kernel.org
Co-developed-by: Sathya Prakash <sathya.prakash@broadcom.com>
Signed-off-by: Sathya Prakash <sathya.prakash@broadcom.com>
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20250411111419.135485-2-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_fw.c

index 3fcb1ad3b070d5253e62d3ef21c3d265a8a48718..d6e402aacb2af146dd141fe5fe44aadcdc234495 100644 (file)
@@ -565,7 +565,7 @@ int mpi3mr_process_op_reply_q(struct mpi3mr_ioc *mrioc,
                WRITE_ONCE(op_req_q->ci, le16_to_cpu(reply_desc->request_queue_ci));
                mpi3mr_process_op_reply_desc(mrioc, reply_desc, &reply_dma,
                    reply_qidx);
-               atomic_dec(&op_reply_q->pend_ios);
+
                if (reply_dma)
                        mpi3mr_repost_reply_buf(mrioc, reply_dma);
                num_op_reply++;