Kubuntu 24.10 on AMD 7640U - sporadic freezes during resume from suspend

I’ve recently updated from Kubuntu 24.04 to 24.10 (and from X11 to Wayland as KDE seems to be finally ready - its not perfect, but user experience is already better than with X11) and since then I’ve experience issues with resume from suspend.

I have already added GRUB_CMDLINE_LINUX="amdgpu.dcdebugmask=0x10" to /etc/default/grub which seemed to help to some extent - I no longer experience completely black screen without backlight - but I still have sporadic failures with resume. From time to time (I didn’t observe any pattern yet) resume end up with black screen, backlight on and with cursor visible (but not movable).

The only recovery path that’s working is holding power button for couple seconds for hard power off and booting again.

The system isn’t completely dead, because after reboot I can see in system logs (journalctl -b -1) logs from short power button press (“Power key pressed short”).

Today I’ve also observed freeze during reboot when it seems reboot process completed:

systemd-shutdown[1]: Sending SIGTERM to remaining processes...
systemd-journald[380]: Received SIGTERM from PID 1 (systemd-shutdow).
systemd-journald[380]: Journal stopped

but than it just hang (for 5 minute, before hard power off) on shutdown screen (with framework logo). Also every couple reboots Bluetooth adapter is not being detected, which is annoying but not critical.

Did any of you bumped into similar issues and found solution? I know that x.10 Ubuntu releases are always less polished than x.04, but it is currently the main issue that prevents me from recommending 24.10 update to others (which is better in other things, e.g. WiFi seems to work better)

Some updates:
system is indeed “not freezed” but only appears as such. I have setup SSH server on my laptop and now I can workaround this issue bu logging in and executing ‘sudo systemctl thaw user.slice’ command.

Possible culprit is Mediatek WiFi/Bluetooth module. I haven’t seen any locks after adding /etc/systemd/system/rfkill-suspend.service file with content:

[Unit]
Description=Disable Bluetooth and WiFi before suspend, re-enable on resume
Before=sleep.target
StopWhenUnneeded=yes

[Service]
Type=oneshot
ExecStart=/usr/sbin/rfkill block bluetooth
ExecStart=/usr/sbin/rfkill block wifi
ExecStop=/usr/sbin/rfkill unblock bluetooth
ExecStop=/usr/sbin/rfkill unblock wifi
RemainAfterExit=yes

[Install]
WantedBy=sleep.target

(adapted from AskUbuntu)

Note: after creating this file you will also need to enable it: sudo systemctl enable rfkill-suspend.service and reload systemd daemon: sudo systemctl daemon-reload).
Some suggested it is enough to kill Bluetooth but from my experience this is not true and WiFi also have to be killed.