]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/of: Return consistent error type from x86_of_pci_irq_enable()
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 27 May 2024 12:55:35 +0000 (15:55 +0300)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 24 Jun 2024 17:11:31 +0000 (19:11 +0200)
x86_of_pci_irq_enable() returns PCIBIOS_* code received from
pci_read_config_byte() directly and also -EINVAL which are not
compatible error types. x86_of_pci_irq_enable() is used as
(*pcibios_enable_irq) function which should not return PCIBIOS_* codes.

Convert the PCIBIOS_* return code from pci_read_config_byte() into
normal errno using pcibios_err_to_errno().

Fixes: 96e0a0797eba ("x86: dtb: Add support for PCI devices backed by dtb nodes")
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240527125538.13620-1-ilpo.jarvinen@linux.intel.com
arch/x86/kernel/devicetree.c

index 8e3c53b4d070e5d948119535a308b2b7a4026eb1..64280879c68c025c249c250a6077ae3ad753e0b0 100644 (file)
@@ -83,7 +83,7 @@ static int x86_of_pci_irq_enable(struct pci_dev *dev)
 
        ret = pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
        if (ret)
-               return ret;
+               return pcibios_err_to_errno(ret);
        if (!pin)
                return 0;