On Monday, January 24, 2011, Henrique de Moraes Holschuh wrote: > On Sun, 23 Jan 2011, Rafael J. Wysocki wrote: > > On Sunday, January 23, 2011, Henrique de Moraes Holschuh wrote: > > > On Sat, 22 Jan 2011, Rafael J. Wysocki wrote: > > > > > I discovered CONFIG_THINKPAD_ACPI caused suspend-to-disk to hang. I > > > > > need the Thinkpad ACPI to control the fan and bluetooth. It looks like > > > > > the thinkpad acpi is trying acquire locks while suspending. Disabling > > > > > cmos, light, led and hotkeys makes suspend-to-disk works again. > > > > > > > > Well, we should tell the thinkpad_acpi maintainer about that, then (CCed). > > > > > > What are the requirements re. mutexes for sleep-to-disk versus sleep-to-ram? > > > > No difference. Basically, there are two differences between suspend and > > hibernation, as far as drivers are concerned: > > (1) It's better to use the ->freeze()/->thaw() and ->poweroff()/->restore() > > callbacks for hibernation. > > (2) It may be _much_ more difficult to get free memory during hibernation > > (so theoretically attempts to get memory during hibernation are more likely > > to block). > > So, if there is nothing wrong with mutex use by itself... > > Thinkpad-acpi calls the thinkpad firmware (using normal ACPI method calls), > which does SMI traps into the SMBIOS to do whatever it wants done. And that > includes writing to the NVS (both the peecee RTC CMOS, and ACPI-backed > "NVS"). > > > Besides, the problem reported by Jeff seems to be caused by CPU hotplug. > > Something weird going on with CPU hotplug could throw Lenovo's > way-too-complex-for-comfort SMM firmware out of wack alright. > > That can be checked. Lobotomize the driver so that it does not do the acpi > calls in the suspend path (but keep everything else). If it still locks, it > is not the firmware. It turns out there's a bug in intel_idle causing people a lot of pain with CPU hotplugging. Should be fixed now it the Linus' tree. Thanks, Rafael _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm