Re: ACPI and a Toshiba Tecra 8000

From: Andrew Thompson <andy_at_fud.org.nz>
Date: Wed, 17 Sep 2003 11:35:39 +1200
Nate Lawson wrote:
> On Wed, 17 Sep 2003, Andrew Thompson wrote:
> 
>>(gdb) l *scsuspend+0x17
>>0xc03d7b17 is in scsuspend (/usr/src/sys/isa/syscons_isa.c:111).
>>106             int             retry = 10;
>>107             static int      dummy;
>>108             sc_softc_t      *sc;
>>109
>>110             sc = &main_softc;
>>111             sc_cur_scr = sc->cur_scp->index;
>>112
>>113             if (sc_no_suspend_vtswitch)
>>114                     return (0);
>>115
> 
> 
> For a temporary workaround, try changing line 111 to:
>     if (sc->cur_scp == NULL)
>         return (0);
> 
> This may not help things though.
> 

It has helped and the laptop is able to suspend with the serial cable 
attached (further than before). It now panics on the first resume with 
the following (gdb output at bottom).

I think the serial cable is masking the problem as without it I can 
suspend/resume once and it only panics on the second resume. I guess I 
need the serail working to see that panic anyway.


tdkphy0: detached
miibus0: detached
dc0: detached
sio4: detached
wakeup from sleeping state (slept 00:00:22)


Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x4
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc03aec5d
stack pointer           = 0x10:0xc5e39b0c
frame pointer           = 0x10:0xc5e39b18
code segment            = base 0x0, limit 0xfffff, type 0x1b
                         = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 7 (acpi_task1)
kernel: type 12 trap, code=0
Stopped at      sc_bell+0x2d:   movl    0x4(%ecx),%eax
db> tr
sc_bell(0,320,5,f0,0) at sc_bell+0x2d
sc_switch_scr(c04b8ca0,0,c5e39b74,c02677bd,c1279d80) at sc_switch_scr+0x2c5
scresume(c1279d80,c1212060,c0424e7c,c1273f00,c11d4060) at scresume+0x24
bus_generic_resume(c1273f00,c11d4060,c0424e7c,c11d1d50,4d0) at 
bus_generic_resume+0x5d
bus_generic_resume(c1256b00) at bus_generic_resume+0x5d
isab_resume(c1256b00,c11f7060,c0424e7c,c1256b80,c1221060) at 
isab_resume+0x6b
bus_generic_resume(c1256b80,c1221060,c0424e7c,c1256280,c1220060) at 
bus_generic_resume+0x5d
bus_generic_resume(c1256280,c1257110,0,c1256280,c5e39c1c) at 
bus_generic_resume+0x5d
acpi_pcib_resume(c1256280,c1257110,0,c1256280,c5e39c3c) at 
acpi_pcib_resume+0x2a
acpi_pcib_acpi_resume(c1256280,c1220060,c0424e7c,c09f2580,c122b060) at 
acpi_pcib_acpi_resume+0x2a
bus_generic_resume(c09f2580,c122b060,c0424e7c,c09f1400,c120c060) at 
bus_generic_resume+0x5d
bus_generic_resume(c09f1400,c120c060,c0424e7c,0,c1256a00) at 
bus_generic_resume+0x5d
bus_generic_resume(c09f1c80,c118e060,c0424e7c,c09f1c80,7a6bb) at 
bus_generic_resume+0x5d
acpi_SetSleepState(c1256a00,3,c5e39ce0,c057f399,c1256a00) at 
acpi_SetSleepState+0x246
acpi_system_eventhandler_sleep(c1256a00,3,c058af1d,99,c0561d6f) at 
acpi_system_eventhandler_sleep+0x1d
acpi_lid_notify_status_changed(c11d1d10,0,c058be85,7b,0) at 
acpi_lid_notify_status_changed+0xf9
acpi_task_thread(0,c5e39d48,44890142,858d0824,fffffb94) at 
acpi_task_thread+0x105
fork_exit(c0584b80,0,c5e39d48) at fork_exit+0xb1
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xc5e39d7c, ebp = 0 ---
db>


(gdb) l *sc_bell+0x2d
0xc03aec5d is in sc_bell (/usr/src/sys/dev/syscons/syscons.c:3579).
3574    sc_bell(scr_stat *scp, int pitch, int duration)
3575    {
3576        if (cold || shutdown_in_progress || !enable_bell)
3577            return;
3578
3579        if (scp != scp->sc->cur_scp && (scp->sc->flags & SC_QUIET_BELL))
3580            return;
3581
3582        if (scp->sc->flags & SC_VISUAL_BELL) {
3583            if (scp->sc->blink_in_progress)
(gdb)
Received on Tue Sep 16 2003 - 14:53:34 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:22 UTC