scsi: efct: Remove useless DMA-32 fallback configuration
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 9 Jan 2022 18:57:04 +0000 (19:57 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 10 Jan 2022 15:37:02 +0000 (10:37 -0500)
As stated in [1], dma_set_mask() with a 64-bit mask never fails if
dev->dma_mask is non-NULL.  So, if it fails, the 32 bits case will also
fail for the same reason.

Simplify code and remove some dead code accordingly.

While at it, return the error code returned by dma_set_mask_and_coherent()
instead of -1.

[1]: https://lkml.org/lkml/2021/6/7/398

Link: https://lore.kernel.org/r/958bcb2a6e86344c14f38369e8e7079615a2b0e3.1641754613.git.christophe.jaillet@wanadoo.fr
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/elx/efct/efct_driver.c

index ae62fc3c9ee369184f4c9d1ca0ff1f8910405ae2..b08fc8839808d2b63f83765e80eb60cc7135406a 100644 (file)
@@ -541,13 +541,10 @@ efct_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 
        pci_set_drvdata(pdev, efct);
 
-       if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)) != 0) {
-               dev_warn(&pdev->dev, "trying DMA_BIT_MASK(32)\n");
-               if (dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) != 0) {
-                       dev_err(&pdev->dev, "setting DMA_BIT_MASK failed\n");
-                       rc = -1;
-                       goto dma_mask_out;
-               }
+       rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
+       if (rc) {
+               dev_err(&pdev->dev, "setting DMA_BIT_MASK failed\n");
+               goto dma_mask_out;
        }
 
        num_interrupts = efct_device_interrupts_required(efct);