Blob Blame History Raw
From: Dan Carpenter <dan.carpenter@oracle.com>
Date: Thu, 5 May 2022 13:25:52 +0300
Subject: scsi: mpi3mr: Return error if dma_alloc_coherent() fails
Git-commit: bc7896d31a922ee9caabb10dc07509f65d41dc0e
Patch-mainline: v5.19-rc1
References: jsc#PED-1446

Return -ENOMEM instead of success if dma_alloc_coherent() fails.

Link: https://lore.kernel.org/r/YnOmMGHqCOtUCYQ1@kili
Fixes: 43ca11005098 ("scsi: mpi3mr: Add support for PEL commands")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Lee Duncan <lduncan@suse.com>
---
 drivers/scsi/mpi3mr/mpi3mr_fw.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/mpi3mr/mpi3mr_fw.c b/drivers/scsi/mpi3mr/mpi3mr_fw.c
index 74e09727a1b8..f1d4ea8ba989 100644
--- a/drivers/scsi/mpi3mr/mpi3mr_fw.c
+++ b/drivers/scsi/mpi3mr/mpi3mr_fw.c
@@ -3754,8 +3754,10 @@ int mpi3mr_init_ioc(struct mpi3mr_ioc *mrioc)
 		mrioc->pel_seqnum_virt = dma_alloc_coherent(&mrioc->pdev->dev,
 		    mrioc->pel_seqnum_sz, &mrioc->pel_seqnum_dma,
 		    GFP_KERNEL);
-		if (!mrioc->pel_seqnum_virt)
+		if (!mrioc->pel_seqnum_virt) {
+			retval = -ENOMEM;
 			goto out_failed_noretry;
+		}
 	}
 
 	retval = mpi3mr_enable_events(mrioc);
@@ -3873,8 +3875,10 @@ int mpi3mr_reinit_ioc(struct mpi3mr_ioc *mrioc, u8 is_resume)
 		mrioc->pel_seqnum_virt = dma_alloc_coherent(&mrioc->pdev->dev,
 		    mrioc->pel_seqnum_sz, &mrioc->pel_seqnum_dma,
 		    GFP_KERNEL);
-		if (!mrioc->pel_seqnum_virt)
+		if (!mrioc->pel_seqnum_virt) {
+			retval = -ENOMEM;
 			goto out_failed_noretry;
+		}
 	}
 
 	if (mrioc->shost->nr_hw_queues > mrioc->num_op_reply_q) {