Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/acpi re-enable the code to disable link devices at s...



details:   https://anonhg.NetBSD.org/src/rev/8c5c25e89fde
branches:  trunk
changeset: 781683:8c5c25e89fde
user:      chs <chs%NetBSD.org@localhost>
date:      Sun Sep 23 00:26:25 2012 +0000

description:
re-enable the code to disable link devices at startup, ie. revert rev 1.3.
this fixes PCI interrupts on some systems (eg. HP XW9400) and we suspect that
the problems which led to the original change were caused by buggy early
implementations of ACPI, which are now ignored by date.

diffstat:

 sys/dev/acpi/acpi_pci_link.c |  6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diffs (32 lines):

diff -r df3e067076b9 -r 8c5c25e89fde sys/dev/acpi/acpi_pci_link.c
--- a/sys/dev/acpi/acpi_pci_link.c      Sat Sep 22 22:34:02 2012 +0000
+++ b/sys/dev/acpi/acpi_pci_link.c      Sun Sep 23 00:26:25 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: acpi_pci_link.c,v 1.18 2010/04/23 15:52:26 jruoho Exp $        */
+/*     $NetBSD: acpi_pci_link.c,v 1.19 2012/09/23 00:26:25 chs Exp $   */
 
 /*-
  * Copyright (c) 2002 Mitsuru IWASAKI <iwasaki%jp.freebsd.org@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.18 2010/04/23 15:52:26 jruoho Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_pci_link.c,v 1.19 2012/09/23 00:26:25 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/malloc.h>
@@ -533,13 +533,11 @@
         * run _DIS (i.e., the method doesn't exist), assume the initial
         * IRQ was routed by the BIOS.
         */
-#if 0  /* XXX causes spontaneaous resets on some systems. Disabled for now. */
        if (ACPI_SUCCESS(AcpiEvaluateObject(sc->pl_handle, "_DIS", NULL,
            NULL)))
                for (i = 0; i < sc->pl_num_links; i++)
                        sc->pl_links[i].l_irq = PCI_INVALID_IRQ;
        else
-#endif
                for (i = 0; i < sc->pl_num_links; i++)
                        if (PCI_INTERRUPT_VALID(sc->pl_links[i].l_irq))
                                sc->pl_links[i].l_routed = TRUE;



Home | Main Index | Thread Index | Old Index