cbb hangs during suspend if ath card active
Nate Lawson
nate at root.org
Thu Jul 13 00:56:23 UTC 2006
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
More information about the freebsd-current
mailing list