Current-Users archive

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

Re: CVS commit: src/sys



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.

Best regards.

-- 
Takahiro Kambe <taca%back-street.net@localhost>


Home | Main Index | Thread Index | Old Index