acpi forced suspending panics
Cristian KLEIN
cristi at net.utcluj.ro
Wed Jul 11 14:58:10 UTC 2007
Cristian KLEIN wrote:
> Hi everybody,
>
> I compiled FreeBSD-CURRENT a few days ago on an IBM Thinkpad R51. Whenever
> I try to suspend the system using Fn+F4, the system will wait 10 seconds
> then panic:
>
> acpi: suspend request timed out, forcing sleep now
> panic: Trying sleep, but thread marked as sleeping prohibited
>
> I have a handwritten backtrace if anybody is interested. I don't know what
> requires the forced suspend, but the panic is triggered by the following
> events:
>
> * acpi_ReqSleepState() notifies the userspace that the system is going to
> sleep and initializes a callout, using callout_reset(), which will call
> acpi_sleep_force() (dev/acpica/acpi.c:2203)
> * softclock() will mark the current thread as non-sleepable
> (kern/kern_timeout.c:280) then call acpi_sleep_force(), through the
> callout mechanism
> * acpi_sleep_force() will go on, and suspend all devices
> * some time later, the cardbus driver will call pause() on this very
> non-sleepable thread (dev/pccbb/pccbb.c:1242), which, naturally, results
> in a panic.
>
> I don't really know how to solve the problem. If I insert
> THREAD_SLEEPING_OK() in acpi_sleep_force(), then the system will not panic
> anymore, but it doesn't suspend either and it becomes unusable.
>
> Note that the kernel from 7.0-200706 did not have this issue (although it
> had other).
This problem was caused by world not being up-to-date, espacially
acpiconf, devd and /etc/rc.suspend. Sorry for the noise.
There are however other suspending issues which I will highlight in
another thread.
More information about the freebsd-current
mailing list