Some five years ago, the following post
https://mailman.alsa-project.org/pipermail/alsa-devel/2014-February/072265.h...
reported a failure to play six-channel sound, that could be worked around by setting the prealloc value for the device to various values *other than* the default 64.
I have just run into this playing a movie from my laptop (Thinkpad Yoga X1, Intel HDA PCH sound card outputting through HDMI) running Xubuntu 18.04, up to date as at the time of posting.
I see exactly the same problem as in that post, and the same workaround works for me - I tried prealloc values 63,65,32,128, and any of them is ok.
I'm a bit baffled that such a problem has survived for several years.
If any developer would like me to provide debugging information, please get in touch - I have some time available at present, but not enough to learn ALSA and debug it myself!
I will remain subscribed to the list for a few weeks to read any followups.