Hi,
In message <20080910035612.8648B175D0%cvs.netbsd.org@localhost>
on Wed, 10 Sep 2008 03:56:12 +0000 (UTC),
"Jared D. McNeill" <jmcneill%netbsd.org@localhost> wrote:
Module Name: src
Committed By: jmcneill
Date: Wed Sep 10 03:56:12 UTC 2008
Modified Files:
src/sys/arch/x86/acpi: acpi_wakeup.c
src/sys/dev/acpi: acpi.c
Log Message:
PR# 38683 - T61 cannot suspend with recent kernels
Don't restore spl until after AcpiLeaveSleepState.
After this change, my pc, Panasonic CF-R5 panics after resume.
#0 cpu_reboot (howto=256, bootstr=0x0)
at /usr/src/sys/arch/i386/i386/machdep.c:885
#1 0xc04d89b1 in panic (
fmt=0xc0100391 "cpu_switchto: switching above IPL_SCHED (%d)")
at /usr/src/sys/kern/subr_prf.c:258
#2 0xc010038e in cpu_switchto ()
#3 0xc08c37f0 in syscall_times ()
#4 0x00000000 in ?? ()
And this change which would be cancel that change solves my problem.
Index: dev/acpi/acpi.c
===================================================================
RCS file: /data/cvs/src/sys/dev/acpi/acpi.c,v
retrieving revision 1.1.1.1.2.25
diff -u -u -r1.1.1.1.2.25 acpi.c
--- dev/acpi/acpi.c 11 Sep 2008 06:05:46 -0000 1.1.1.1.2.25
+++ dev/acpi/acpi.c 19 Sep 2008 02:58:58 -0000
@@ -1276,8 +1276,8 @@
if (state == ACPI_STATE_S4)
AcpiEnable();
pmf_system_bus_resume(PMF_F_NONE);
- AcpiLeaveSleepState((UINT8)state);
splx(s);
+ AcpiLeaveSleepState((UINT8)state);
pmf_system_resume(PMF_F_NONE);
}
P.S.
That panic has some resemblance to PR kern/39141 (kernel crash on
shutdown when system power off) whicl still happens to me.