Re: cbb hangs during suspend if ath card active

From: M. Warner Losh <imp_at_bsdimp.com>
Date: Wed, 12 Jul 2006 22:29:28 -0600 (MDT)
In message: <44B59A22.7000407_at_root.org>
            Nate Lawson <nate_at_root.org> writes:
: I've seen a recent regression in the past few months when suspending my 
: laptop.  When I have an ath0 card inserted in a cardbus slot and then 
: press the sleep button, the system hangs.  If I eject the card, it 
: continues going into suspend and everything works as normal.
: 
: If the card is up (ifconfig up), this process hangs.  If it's down, no 
: hang and it suspends normally.  I did some debugging by starting the 
: suspend, waiting for the hang, hitting "break to ddb", and then ejecting 
: the card.  The eject causes an interrupt which causes ddb to be entered. 
:   With ps, I can see that the thread on the acpi_taskq is running the 
: button event and then calling bus_generic_suspend(), which eventually 
: calls cbb_detach(), which then calls a power routine in pccbb.c.  This 
: routine calls tsleep() (wchan "cbbP3") which never wakes up.
:
: Any idea why tsleep() is not waking up now?  It seems tsleep() calls 
: mi_switch() and never returns.

Maybe the timers have been stopped and not properly restored by this
time?  Maybe we're calling the resume routines from a bad place that
we can't sleep...  APM had this problem...

I'd love to test things like this, but I've not had a laptop in the
past 5 years that can successfully suspend/resume under freebsd, even
with minimal drivers :-(

Warner
Received on Thu Jul 13 2006 - 02:32:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:58 UTC