There was another thread with similar problems after upgrading and attempting to boot into an f40 kernel. The solution was simple.
The kernel command line had a resume
option that pointed to a partition that no longer existed and using grubby to remove that option solved the problem.
Boot to the f39 kernel then run cat /proc/cmdline
.
If there is an option in that command line that begins with resume=UUID=xxxx-xx...
then use grubby to remove that option with
sudo grubby --remove-args=string-to-be-removed --update-kernel=ALL
and replace the “string-to-be-removed” with the full text of that resume=UUID=....
option seen in the kernel command line.
It appears that with f39 and earlier the kernel would timeout on that fsck check you show and allow boot to continue but with f40 it now has no timeout on that failure