Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Jul 2006 17:56:02 -0700
From:      Nate Lawson <nate@root.org>
To:        current <current@freebsd.org>
Subject:   cbb hangs during suspend if ath card active
Message-ID:  <44B59A22.7000407@root.org>

next in thread | raw e-mail | index | archive | help
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.

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44B59A22.7000407>