mISDN: Fix return values of the probe function
authorZheyu Ma <zheyuma97@gmail.com>
Mon, 18 Oct 2021 14:20:38 +0000 (14:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 19 Oct 2021 12:09:28 +0000 (13:09 +0100)
During the process of driver probing, the probe function should return < 0
for failure, otherwise, the kernel will treat value > 0 as success.

Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/isdn/hardware/mISDN/hfcpci.c

index e501cb0..bd087cc 100644 (file)
@@ -1994,14 +1994,14 @@ setup_hw(struct hfc_pci *hc)
        pci_set_master(hc->pdev);
        if (!hc->irq) {
                printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
-               return 1;
+               return -EINVAL;
        }
        hc->hw.pci_io =
                (char __iomem *)(unsigned long)hc->pdev->resource[1].start;
 
        if (!hc->hw.pci_io) {
                printk(KERN_WARNING "HFC-PCI: No IO-Mem for PCI card found\n");
-               return 1;
+               return -ENOMEM;
        }
        /* Allocate memory for FIFOS */
        /* the memory needs to be on a 32k boundary within the first 4G */
@@ -2012,7 +2012,7 @@ setup_hw(struct hfc_pci *hc)
        if (!buffer) {
                printk(KERN_WARNING
                       "HFC-PCI: Error allocating memory for FIFO!\n");
-               return 1;
+               return -ENOMEM;
        }
        hc->hw.fifos = buffer;
        pci_write_config_dword(hc->pdev, 0x80, hc->hw.dmahandle);
@@ -2022,7 +2022,7 @@ setup_hw(struct hfc_pci *hc)
                       "HFC-PCI: Error in ioremap for PCI!\n");
                dma_free_coherent(&hc->pdev->dev, 0x8000, hc->hw.fifos,
                                  hc->hw.dmahandle);
-               return 1;
+               return -ENOMEM;
        }
 
        printk(KERN_INFO