Damien Zammit, le dim. 22 juin 2025 07:36:10 +0000, a ecrit: > Fall back to bios defaults for requests for irq 9. > Ideally we could check the PIIX3 bridge device exists on > pci, but that would require pci access before pci-arbiter > exists. This is a convenient workaround for now.
Applied, thanks! > --- > acpi/acpi-ops.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/acpi/acpi-ops.c b/acpi/acpi-ops.c > index 16d96e71..8fc6104f 100644 > --- a/acpi/acpi-ops.c > +++ b/acpi/acpi-ops.c > @@ -30,6 +30,13 @@ > #include <acpi/acpi_init.h> > #include "acpifs.h" > > +/* PIIX3 chipset returns IRQ 9 for all ACPI irq requests > + * but IDE is actually wired to legacy irqs 14 and 15. > + * To avoid needing pci access in acpi, we can consider > + * all mappings to 9 to be invalid irqs and use > + * bios defaults for these requests instead. */ > +#define WRONG_IRQ 9 > + > static error_t > check_permissions (struct protid *master, int flags) > { > @@ -83,6 +90,8 @@ S_acpi_get_pci_irq (struct protid *master, > return err; > > ret = acpi_get_irq_number(bus, dev, func); > + if (ret == WRONG_IRQ) > + return EOPNOTSUPP; > if (ret < 0) > return EIO; > > -- > 2.45.2