diff options
author | iwasaki <iwasaki@FreeBSD.org> | 2002-10-31 20:43:02 +0000 |
---|---|---|
committer | iwasaki <iwasaki@FreeBSD.org> | 2002-10-31 20:43:02 +0000 |
commit | e85ea23a6d7e09e65f5ab082f874fc1a181d81af (patch) | |
tree | 50746d309e72d70ac1d1c752ab2e10dd696bafce /sys/dev/acpica | |
parent | 400e1f5e97009f227477935642545ef14884a3f7 (diff) | |
download | FreeBSD-src-e85ea23a6d7e09e65f5ab082f874fc1a181d81af.zip FreeBSD-src-e85ea23a6d7e09e65f5ab082f874fc1a181d81af.tar.gz |
Don't examine ACPI_STA_ENABLE bit of device's_STA object on initial
state. Instead, use ACPI_STA_PRESENT and ACPI_STA_FUNCTIONAL for it.
In some ACPI BIOS implementations, boot disabled devices don't have
ACPI_STA_ENABLE bit in _STA object.
Also it is not fatal if getting current IRQ of boot disabled devices
is failed in initial state.
And minor fixes.
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r-- | sys/dev/acpica/acpi_pci_link.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c index d6120ef..84246f0 100644 --- a/sys/dev/acpica/acpi_pci_link.c +++ b/sys/dev/acpica/acpi_pci_link.c @@ -53,9 +53,9 @@ struct acpi_pci_link_entry { UINT8 initial_irq; ACPI_RESOURCE possible_resources; UINT8 number_of_interrupts; - UINT8 interrupts[MAX_POSSIBLE_INTERRUPTS];; + UINT8 interrupts[MAX_POSSIBLE_INTERRUPTS]; - UINT8 sorted_irq[MAX_POSSIBLE_INTERRUPTS];; + UINT8 sorted_irq[MAX_POSSIBLE_INTERRUPTS]; int references; int priority; }; @@ -370,7 +370,6 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry) ACPI_DEBUG_PRINT((ACPI_DB_WARN, "couldn't get current IRQ from PCI interrupt link %s - %s\n", acpi_name(handle), AcpiFormatException(error))); - goto out; } link->initial_irq = link->current_irq; @@ -461,9 +460,9 @@ acpi_pci_link_add_prt(device_t pcidev, ACPI_PCI_ROUTING_TABLE *prt, int busno) return_ACPI_STATUS (error); } - if (!(sta & ACPI_STA_ENABLE)) { + if (!(sta & (ACPI_STA_PRESENT | ACPI_STA_FUNCTIONAL))) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, - "PCI interrupt link is disabled - %s\n", + "PCI interrupt link is not functional - %s\n", acpi_name(handle))); return_ACPI_STATUS (AE_ERROR); } |