diff mbox series

drivers: scsi: megaraid: Add missing check for dma_set_mask

Message ID 20240701034102.84207-1-make24@iscas.ac.cn (mailing list archive)
State New, archived
Headers show
Series drivers: scsi: megaraid: Add missing check for dma_set_mask | expand

Commit Message

Ma Ke July 1, 2024, 3:41 a.m. UTC
pdev->dev cannot perform DMA properly if dma_set_mask() returns non-zero.
Add check for dma_set_mask() and return the error if it fails.

Fixes: ec090ef8cd1c ("scsi: megaraid: Remove pci-dma-compat wrapper API")
Signed-off-by: Haoxiang Li <make24@iscas.ac.cn>
---
 drivers/scsi/megaraid.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Markus Elfring July 1, 2024, 12:12 p.m. UTC | #1
> pdev->dev cannot perform DMA properly if dma_set_mask() returns non-zero.

Can a wording approach (like the following) become a part of a better change description?

  Direct memory access can not be properly performed any more
  after a dma_set_mask() call failed.


> Add check for dma_set_mask()

How do you think about to avoid a repeated reference to a function name?


>                                  return the error if it fails.

How can this happen after you did not store the return value (in the local variable “error”)
for further usage (according to your proposed source code adjustment)?


…
> Signed-off-by: Haoxiang Li <make24@iscas.ac.cn>

I find it interesting that another personal name is presented here.
I noticed that some patches were published with the name “Ma Ke” previously.
How will requirements be resolved for the Developer's Certificate of Origin?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10-rc6#n398


How do you think about to use a summary phrase like “Complete error handling
in megaraid_probe_one()”?

Regards,
Markus
diff mbox series

Patch

diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 38976f94453e..5ddcba488c89 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -4406,10 +4406,12 @@  megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	/* Set the Mode of addressing to 64 bit if we can */
 	if ((adapter->flag & BOARD_64BIT) && (sizeof(dma_addr_t) == 8)) {
-		dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
+		if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)))
+			goto out_free_mbox;
 		adapter->has_64bit_addr = 1;
 	} else  {
-		dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+		if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)))
+			goto out_free_mbox;
 		adapter->has_64bit_addr = 0;
 	}