scsi: wd719x: Return proper error code when dma_set_mask() fails
authorZheyu Ma <zheyuma97@gmail.com>
Mon, 28 Feb 2022 14:54:15 +0000 (14:54 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 2 Mar 2022 04:56:28 +0000 (23:56 -0500)
During the process of driver probing, the probe function should return < 0
for failure, otherwise the kernel will treat value >= 0 as success.

Set 'err' to the error value returned by dma_set_mask() in case of failure.

Link: https://lore.kernel.org/r/1646060055-11361-1-git-send-email-zheyuma97@gmail.com
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/wd719x.c

index f341b79..ff1b220 100644 (file)
@@ -904,7 +904,8 @@ static int wd719x_pci_probe(struct pci_dev *pdev, const struct pci_device_id *d)
        if (err)
                goto fail;
 
-       if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(32))) {
+       err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
+       if (err) {
                dev_warn(&pdev->dev, "Unable to set 32-bit DMA mask\n");
                goto disable_device;
        }