This is the *exact* same problem as in bug 29722, with the exact same laptop. The patch that solved the problem in bug 29722 is in 2.6.39_rc5, so there is apparently another cause. When resuming from standby, kworker starts consuming almost all of the available CPU, while /sys/firmware/acpi/interrupts/gpe_all starts increasing at a rate of about 6000 per second. Kernel is built without CONFIG_HOTPLUG_PCI_PCIE and with CONFIG_HOTPLUG_PCI_ACPI=y Attachments of a lot of the info requested in bug 29722 forthcoming.
Created attachment 55682 [details] enabled interrupts output of `egrep 'disabled|enabled' /sys/firmware/acpi/interrupts/*` before and after suspend
Created attachment 55692 [details] dmesg dmesg from boot up until after resume
Created attachment 55702 [details] lspci output of `lspci -vvvxxx`
Created attachment 55712 [details] acpidump acpidump output
Created attachment 55722 [details] kernel config kernel config
Created attachment 55862 [details] PCI / ACPI: Report _OSC control mask returned on failure to get control Please apply this patch and attach dmesg output.
Created attachment 55872 [details] patch dmesg output dmesg output after resume with above patch
Created attachment 55912 [details] ACPI: Debug PCI root initialization Hmm. The _OSC messages are not present in the dmesg output, which means we don't execute the _OSC request on your machine. We need to figure out why. Please apply this patch (on top of the previous one) and attach the output of dmesg.
Created attachment 55922 [details] dmesg dmesg output from the latest patch Pertinent lines: [ 1.738978] pci0000:00: Unable to request _OSC control (_OSC support mask: 0x0f) [ 1.749602] pci0000:ff: Unable to request _OSC control (_OSC support mask: 0x0f)
Two PCI roots, cool. :-) Sorry, I didn't notice you had CONFIG_PCI_MSI unset in your .config. It _really_ is necessary for things to work correctly in this area, so please enable it and attach dmesg output. It very well may cause the problem to go away even. :-)
Confirmed. Enabled CONFIG_PCI_MSI and the problem disappeared. Guess this can be marked invalid. Sorry for the unnecessary troubleshooting, but thanks though :-)