Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Sep 2003 18:09:22 +1200
From:      Andrew Thompson <andy@fud.org.nz>
To:        Nate Lawson <nate@root.org>
Cc:        current@freebsd.org
Subject:   Re: ACPI and a Toshiba Tecra 8000
Message-ID:  <03Sep22.060710nzst.336005@homer.fire.org.nz>
In-Reply-To: <03Sep21.234726nzst.336010@homer.fire.org.nz>
References:  <20030916115255.A9706@root.org> <3F6763D3.8010007@fud.org.nz> <20030916122545.V9796@root.org> <03Sep16.233331nzst.336012@homer.fire.org.nz> <20030919152455.K23391@root.org> <03Sep21.234726nzst.336010@homer.fire.org.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Thompson wrote:
> Nate Lawson wrote:
> 
>> On Wed, 17 Sep 2003, Andrew Thompson wrote:
>>
>>>
>>> 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).
>>
>>
>>
>> You should do a quick grep through sys/dev/syscons for
>> "= sc->cur_scp->index" and replace them all with the above NULL check.
>> I'm interested if this will fix things.
>>
> 
> Hi,
> 
> I fixed the other null derefernce in sc_bell() and the laptop is now 
> suspending with the serial console the same as without.
> 

Hi again, again,

I am a keen newbie kernel debugger but here is as far as I have got :) 
The first suspend it goes through the functions:

acpi_SetSleepState() -> AcpiEnterSleepStatePrep() -> 
acpi_sleep_machdep() ->  AcpiEnterSleepState()

as it should, but the second suspend it only does acpi_SetSleepState() 
-> AcpiEnterSleepStatePrep() and then the laptop suspends itself. I am 
unsure why it is not getting as far the second time...



db> b acpi_SetSleepState
db> b AcpiEnterSleepStatePrep
db> b acpi_sleep_machdep
db> b AcpiEnterSleepState
db> c

<suspend #1>
Breakpoint at   acpi_SetSleepState:     pushl   %ebp
db> c
Breakpoint at   AcpiEnterSleepStatePrep:        pushl   %ebp
db> c
Breakpoint at   acpi_sleep_machdep:     pushl   %ebp
db> c
======== acpi_printcpu() debug dump ========
gdt[0077:c04b94c0] idt[0407:c04b9860] ldt[0028] tr[0020] efl[00000096]
eax[00001000] ebx[c1234d00] ecx[00000000] edx[bfc00004]
esi[00000000] edi[c09f54b0] ebp[c62f3aa8] esp[c62f3a70]
cr0[8005003b] cr2[280b0b40] cr3[01f8c000] cr4[00000091]
cs[0008] ds[0010] es[0010] fs[0018] gs[002f] ss[0010]
Breakpoint at   AcpiEnterSleepState:    pushl   %ebp
db> c
<laptop suspends, resumes correctly>


<suspend #2>
Breakpoint at   acpi_SetSleepState:     pushl   %ebp
db> c
Breakpoint at   AcpiEnterSleepStatePrep:        pushl   %ebp
db> c
<laptop suspends here, reboots on resume>





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?03Sep22.060710nzst.336005>