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

Reply via email to