The cpu_cooling driver prevents system suspend due to one hung task per cpu. This is because it is "set freezable" by accident. That's a bug.
Note: In newer kernels, this issue goes away because of a different implementation altogether and system suspend will work there.
We at least should include this fix for people in order to be able to experiment with S3 suspend.