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
[-- Attachment #1 --]
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
[-- Attachment #2 --]
--- 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);
}
/*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200709141628.24801.jkim>
