Have you checked journal for relevant errors?
After a failed attempt to suspend, use this command to read journal in reverse order (latest messages are at the top/start)
journalctl -b -r
Or search for a relevant word
journalctl -b -g suspend
journalctl -b -g failed