Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Sep 2007 16:28:16 -0400
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        Denis <piloyder@gmail.com>
Cc:        freebsd-acpi@FreeBSD.org
Subject:   Re: ACPI error on Compaq nc6220, FreeBSD 7.0
Message-ID:  <200709141628.24801.jkim@FreeBSD.org>
In-Reply-To: <200709131424.05193.jkim@FreeBSD.org>
References:  <325305250709010712n4bd0d62l9a144572441cf3dc@mail.gmail.com> <200709131416.21302.jkim@FreeBSD.org> <200709131424.05193.jkim@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Boundary-00=_o7u6GTVSH0Q6l+C
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On Thursday 13 September 2007 02:23 pm, Jung-uk Kim wrote:
> [Sorry for the previous empty reply.]
>
> On Thursday 13 September 2007 02:16 pm, Jung-uk Kim wrote:
> > On Thursday 13 September 2007 01:59 pm, Denis wrote:
> > > On 9/13/07, Jung-uk Kim <jkim@freebsd.org> wrote:
> > > > Please remove spinlock_enter() and spinlock_exit() from
> > > > OsdSynch.c and retry.
> > >
> > > So I applied your patch, Nate's patch, removed spinlock_enter()
> > > and spinlock_exit() from OsdSynch.c and tried to to play a
> > > little with booting with ACPI:
> > > For the first time I could boot with ACPI and login to the
> > > system. But after several minutes I was unable to enter any
> > > symbol from the keyboard, however was able to switch between
> > > consoles (alt+Fx).
> > >
> > > Couple times got kernel panic:
> > > ---
> > > panic: _sx_xlock_hard: recursed on non recursive sx ACPI
> > > embedded controller  @
> > > /usr/src/sys/modules/acpi/acpi/../../../acpica/acpi_ec.c:209
> > >
> > > cpuid = 0
> > > KDB: enter: panic
> > > [thread: pid 8 tid 100018 ]
> > > Stopped at          kbd_enter+0x32: leave
> > > db>
> > > ---
>
> Actually I am seeing the same problem.

Can you try this patch *after* applying Nate's patch?  It should fix 
this problem.

Thanks,

Jung-uk Kim

--Boundary-00=_o7u6GTVSH0Q6l+C
Content-Type: text/plain;
  charset="iso-8859-1";
  name="acpi_ec.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="acpi_ec.diff"

--- src/sys/dev/acpica/acpi_ec.c.orig	2007-09-14 16:20:20.000000000 -0400
+++ src/sys/dev/acpica/acpi_ec.c	2007-09-14 16:08:04.000000000 -0400
@@ -624,6 +624,7 @@
     }
 
     /* Evaluate _Qxx to respond to the controller. */
+    EcUnlock(sc);
     snprintf(qxx, sizeof(qxx), "_Q%02X", Data);
     AcpiUtStrupr(qxx);
     Status = AcpiEvaluateObject(sc->ec_handle, qxx, NULL, NULL);
@@ -631,8 +632,6 @@
 	device_printf(sc->ec_dev, "evaluation of query method %s failed: %s\n",
 	    qxx, AcpiFormatException(Status));
     }
-
-    EcUnlock(sc);
 }
 
 /*

--Boundary-00=_o7u6GTVSH0Q6l+C--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709141628.24801.jkim>