Reproduction:
btrfs scrub start /
pm-suspend
System won't suspend if you don't cancel the scrub.
I expect "btrfs scrub" somehow listen the system events and cancel on
such events and resume when it can.
btrfs --version
btrfs-progs v4.19.1
