]> git.itanic.dy.fi Git - linux-stable/commitdiff
alpha: Streamline convoluted PCI error handling
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 11 Sep 2023 12:53:49 +0000 (15:53 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 10 Oct 2023 21:26:56 +0000 (16:26 -0500)
miata_map_irq() handles PCI device and read config related errors in a
conditional block that is more complex than necessary.

Streamline the code flow and error handling.

No functional changes intended.

Link: https://lore.kernel.org/r/20230911125354.25501-2-ilpo.jarvinen@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
arch/alpha/kernel/sys_miata.c

index e1bee8f84c5877ce2be3bdd0470963b23d21bd9d..33b2798de8fcf11acc78b1f1c1b94ffae6d9fffb 100644 (file)
@@ -183,16 +183,17 @@ miata_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
            the 2nd 8259 controller. So we have to check for it first. */
 
        if((slot == 7) && (PCI_FUNC(dev->devfn) == 3)) {
-               u8 irq=0;
                struct pci_dev *pdev = pci_get_slot(dev->bus, dev->devfn & ~7);
-               if(pdev == NULL || pci_read_config_byte(pdev, 0x40,&irq) != PCIBIOS_SUCCESSFUL) {
-                       pci_dev_put(pdev);
+               u8 irq = 0;
+               int ret;
+
+               if (!pdev)
                        return -1;
-               }
-               else    {
-                       pci_dev_put(pdev);
-                       return irq;
-               }
+
+               ret = pci_read_config_byte(pdev, 0x40, &irq);
+               pci_dev_put(pdev);
+
+               return ret == PCIBIOS_SUCCESSFUL ? irq : -1;
        }
 
        return COMMON_TABLE_LOOKUP;