Subject: Re: more suspend travails with my thinkpad...
To: Kevin Lahey <kml@patheticgeek.net>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: current-users
Date: 12/13/2007 07:31:24
On Wed, 12 Dec 2007, Kevin Lahey wrote:
> 	ioapic0 reenabling
> 	Mutex error: mutex_vector_enter:  locking against myself

Alright, this appears to be a nasty locking bug in ACPI-CA that for some 
reason I haven't been able to trigger.

Can you try the following patch?

Index: evgpe.c
===================================================================
RCS file: /cvsroot/src/sys/dist/acpica/evgpe.c,v
retrieving revision 1.3
diff -u -r1.3 evgpe.c
--- evgpe.c     11 Dec 2007 13:16:05 -0000      1.3
+++ evgpe.c     13 Dec 2007 12:29:53 -0000
@@ -513,7 +513,8 @@
       * Note: Not necessary to obtain the hardware lock, since the GPE 
registers
       * are owned by the GpeLock.
       */
-    Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock);
+    if (AcpiGbl_SystemAwakeAndRunning)
+        Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock);

      /* Examine all GPE blocks attached to this interrupt level */

@@ -587,7 +588,8 @@

  UnlockAndExit:

-    AcpiOsReleaseLock (AcpiGbl_GpeLock, Flags);
+    if (AcpiGbl_SystemAwakeAndRunning)
+        AcpiOsReleaseLock (AcpiGbl_GpeLock, Flags);
      return (IntStatus);
  }