tech-kern archive

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

Re: Dell 1850 nics fail



On Fri, Oct 23, 2009 at 11:09:22AM -0500, peter eisch wrote:
> I found kern/41910 with no further comments.

Attached is a patch for current that should work. It is not in a shape to be
committed though.

Joerg
Index: dev/acpi/acpi.c
===================================================================
RCS file: /home/joerg/repo/netbsd/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.131
diff -u -p -r1.131 acpi.c
--- dev/acpi/acpi.c     25 Aug 2009 10:34:08 -0000      1.131
+++ dev/acpi/acpi.c     31 Aug 2009 11:31:25 -0000
@@ -94,6 +94,8 @@ __KERNEL_RCSID(0, "$NetBSD: acpi.c,v 1.1
 #include <dev/acpi/acpidevs_data.h>
 #endif
 
+#include <acevents.h>
+
 #if defined(ACPI_PCI_FIXUP)
 #error The option ACPI_PCI_FIXUP has been obsoleted by 
PCI_INTR_FIXUP_DISABLED.  Please adjust your kernel configuration file.
 #endif
@@ -475,22 +477,7 @@ acpi_attach(device_t parent, device_t se
                acpi_osd_debugger();
 #endif
 
-#define ACPI_ENABLE_PHASE1 \
-    (ACPI_NO_HANDLER_INIT | ACPI_NO_EVENT_INIT)
-#define ACPI_ENABLE_PHASE2 \
-    (ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE | \
-     ACPI_NO_ADDRESS_SPACE_INIT)
-
-       rv = AcpiEnableSubsystem(ACPI_ENABLE_PHASE1);
-       if (ACPI_FAILURE(rv)) {
-               aprint_error_dev(self, "unable to enable ACPI: %s\n",
-                   AcpiFormatException(rv));
-               return;
-       }
-
-       acpi_md_callback();
-
-       rv = AcpiEnableSubsystem(ACPI_ENABLE_PHASE2);
+       rv = AcpiEnableSubsystem(ACPI_FULL_INITIALIZATION);
        if (ACPI_FAILURE(rv)) {
                aprint_error_dev(self, "unable to enable ACPI: %s\n",
                    AcpiFormatException(rv));
@@ -507,6 +494,11 @@ acpi_attach(device_t parent, device_t se
                    AcpiFormatException(rv));
                return;
        }
+
+       acpi_md_callback();
+
+       AcpiEvInstallSciHandler();
+
        acpi_active = 1;
 
        /* Our current state is "awake". */
Index: external/intel-public/acpica/dist/events/evevent.c
===================================================================
RCS file: 
/home/joerg/repo/netbsd/src/sys/external/intel-public/acpica/dist/events/evevent.c,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 evevent.c
--- external/intel-public/acpica/dist/events/evevent.c  18 Aug 2009 16:23:28 
-0000      1.1.1.1
+++ external/intel-public/acpica/dist/events/evevent.c  31 Aug 2009 11:30:36 
-0000
@@ -247,17 +247,6 @@ AcpiEvInstallXruptHandlers (
 
     ACPI_FUNCTION_TRACE (EvInstallXruptHandlers);
 
-
-    /* Install the SCI handler */
-
-    Status = AcpiEvInstallSciHandler ();
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_EXCEPTION ((AE_INFO, Status,
-            "Unable to install System Control Interrupt handler"));
-        return_ACPI_STATUS (Status);
-    }
-
     /* Install the handler for the Global Lock */
 
     Status = AcpiEvInitGlobalLockHandler ();


Home | Main Index | Thread Index | Old Index