Latest working kernel version: 2.6.27 Earliest failing kernel version: 2.6.28-rc8 Distribution: FC10 Hardware Environment: Lenovo T61 Problem Description: suspend to ram resume look at dmesg BUG: sleeping function called from invalid context at kernel/sched.c:5571 in_atomic(): 0, irqs_disabled(): 1, pid: 3880, name: bash Pid: 3880, comm: bash Not tainted 2.6.28-rc8-09690-g55dac3a-dirty #70 Call Trace: [<ffffffff8022c0e4>] __might_sleep+0xcf/0xd1 [<ffffffff8023351b>] __cond_resched+0x15/0x54 [<ffffffff80588477>] _cond_resched+0x2d/0x38 [<ffffffff803a9f41>] acpi_ps_complete_op+0x26d/0x283 [<ffffffff803b1448>] ? acpi_ut_create_generic_state+0x31/0x4e [<ffffffff803aa708>] acpi_ps_parse_loop+0x7b1/0x941 [<ffffffff803a9789>] acpi_ps_parse_aml+0xee/0x3c0 [<ffffffff803aaf93>] acpi_ps_execute_method+0x18a/0x293 [<ffffffff803a62d8>] acpi_ns_evaluate+0x1e4/0x33c [<ffffffff803ac576>] acpi_rs_set_srs_method_data+0xdb/0xfd [<ffffffff803ac069>] acpi_set_current_resources+0x37/0x45 [<ffffffff803b8999>] acpi_pci_link_set+0x129/0x23d [<ffffffff8024c1aa>] ? retrigger_next_event+0xb4/0xbf [<ffffffff803b8b4b>] irqrouter_resume+0x9e/0xb6 [<ffffffff803e8bc0>] __sysdev_resume+0x1f/0x50 [<ffffffff803e8cee>] sysdev_resume+0xfd/0x143 [<ffffffff803eece8>] device_power_up+0x10/0x1b [<ffffffff8025bee7>] suspend_devices_and_enter+0x12a/0x1b3 [<ffffffff8025c199>] enter_state+0x200/0x290 [<ffffffff8025c2e0>] state_store+0xb7/0xd8 [<ffffffff8037186b>] kobj_attr_store+0x17/0x19 [<ffffffff802d8945>] sysfs_write_file+0xdf/0x114 [<ffffffff80294e5d>] vfs_write+0xae/0x137 [<ffffffff80294faa>] sys_write+0x47/0x70 [<ffffffff8020b3db>] system_call_fastpath+0x16/0x1b commit 8bd108d14604d9c95000751e6c6ecbd11ea6ed40 Author: Alexey Starikovskiy <astarikovskiy@suse.de> Date: Thu Sep 25 21:40:30 2008 +0400 ACPICA: add preemption point after each opcode parse Reference: http://marc.info/?l=linux-acpi&m=122236382701062&w=2
irqrouter_resume() runs with interrupts disabled and it invokes _CRS, _PRS, and _SRS on the non-disabled link devices. (Besides _GTS and _BFS, these are the only reserved methods that are evaluated with interrupts off.) On the T61 boot with with "noapic" and "pci=nomsi" to make sure the links are used instead of disabled to expose this.
Hi, Len Will you please try the following patch and see whether it will help? >http://marc.info/?l=linux-kernel&m=122768138609610&w=2 thanks.
Created attachment 19370 [details] patch vs 2.6.28-rc8 from Wu Fengguang this patch is now applied to the acpi tree
Handled-By : Len Brown <lenb@kernel.org> Patch : http://bugzilla.kernel.org/attachment.cgi?id=19370&action=view
shipped in 2.6.28. closed. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=abe1dfab60e1839d115930286cb421f5a5b193f3