(Please note -- I read this post and it is not a duplicate.)
So for years, my linux laptop has allowed me to both suspend to disk and (with a little effort) suspend to RAM with one of these two commands
echo -n mem > /sys/power/state
echo "disk" > /sys/power/state
and wake up successfully every time.
[Edit -- I'm using ACPI to intercept the power button and run a short script that turns off wifi, issues the above command, and (after wake-up) turns wifi back on.]
One day recently, I discovered that my laptop is dual-core, and I was not using an SMP kernel. So I enabled SMP. As far as I can tell, that is the only change I made.
Now, my laptop can suspend to disk successfully, but as soon as it wakes up, it immediately goes into a second suspend-to-disk process. After the second suspend, the laptop wakes up and resumes normally. Almost as if the suspend command is applied to each CPU consecutively.
Suspending to RAM appears to work, but it is completely unable to wake up (the CAPS LOCK button flashes) so I'm not certain that it is or isn't working.
Is there something special I need to do to suspend/resume a dual-core Linux laptop?