Date: Tue, 10 Jul 2007 21:13:21 +0300 (EEST) From: "Cristian KLEIN" <cristi@net.utcluj.ro> To: freebsd-current@freebsd.org Subject: acpi forced suspending panics Message-ID: <62195.193.226.6.226.1184091201.squirrel@intranet.utcluj.ro>
next in thread | raw e-mail | index | archive | help
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).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62195.193.226.6.226.1184091201.squirrel>