This internal function acpi_get_irq_number() returns negative for error, otherwise returns valid IRQ.
--- acpi/acpi-ops.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/acpi/acpi-ops.c b/acpi/acpi-ops.c index 1aaec10c..16d96e71 100644 --- a/acpi/acpi-ops.c +++ b/acpi/acpi-ops.c @@ -73,6 +73,7 @@ S_acpi_get_pci_irq (struct protid *master, int *irq) { error_t err; + int ret; if (!master) return EOPNOTSUPP; @@ -81,6 +82,10 @@ S_acpi_get_pci_irq (struct protid *master, if (err) return err; - *irq = acpi_get_irq_number(bus, dev, func); - return err; + ret = acpi_get_irq_number(bus, dev, func); + if (ret < 0) + return EIO; + + *irq = ret; + return 0; } -- 2.45.2