summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornjl <njl@FreeBSD.org>2004-09-01 17:59:29 +0000
committernjl <njl@FreeBSD.org>2004-09-01 17:59:29 +0000
commitcb6dc8499ba76e39f1b895016d4314afa1796447 (patch)
tree9bead47ede37177945c64be34ba6b9b76e7345cf
parentaac3e70226ce974507f4e98471f851f9280348fd (diff)
downloadFreeBSD-src-cb6dc8499ba76e39f1b895016d4314afa1796447.zip
FreeBSD-src-cb6dc8499ba76e39f1b895016d4314afa1796447.tar.gz
Disable links after getting the possible resources. Even though _DIS
should only affect current resources, it seems best to wait until all configuration is done before disabling it. If this fixes any problems, it is a MT5 candidate.
-rw-r--r--sys/dev/acpica/acpi_pci_link.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/acpica/acpi_pci_link.c b/sys/dev/acpica/acpi_pci_link.c
index f2a15c8..7dd408b 100644
--- a/sys/dev/acpica/acpi_pci_link.c
+++ b/sys/dev/acpica/acpi_pci_link.c
@@ -373,18 +373,6 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry)
link->initial_irq = 0;
}
- /*
- * Try to disable this link. If successful, set the current IRQ to
- * zero and flags to indicate this link is not routed. If we can't
- * run _DIS (i.e., the method doesn't exist), assume the initial
- * IRQ was routed by the BIOS.
- */
- if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) {
- link->current_irq = 0;
- link->flags = ACPI_LINK_NONE;
- } else
- link->flags = ACPI_LINK_ROUTED;
-
error = AcpiGetPossibleResources(handle, &buf);
if (ACPI_FAILURE(error)) {
ACPI_DEBUG_PRINT((ACPI_DB_WARN,
@@ -426,6 +414,18 @@ acpi_pci_link_add_link(ACPI_HANDLE handle, struct acpi_prt_entry *entry)
}
/*
+ * Try to disable this link. If successful, set the current IRQ to
+ * zero and flags to indicate this link is not routed. If we can't
+ * run _DIS (i.e., the method doesn't exist), assume the initial
+ * IRQ was routed by the BIOS.
+ */
+ if (ACPI_SUCCESS(AcpiEvaluateObject(handle, "_DIS", NULL, NULL))) {
+ link->current_irq = 0;
+ link->flags = ACPI_LINK_NONE;
+ } else
+ link->flags = ACPI_LINK_ROUTED;
+
+ /*
* If the initial IRQ is invalid (not in _PRS), set it to 0 and
* mark this link as not routed. We won't use it as the preferred
* interrupt later when we route.
OpenPOWER on IntegriCloud