I'm not a massive expert in Linux, but here's my theory:
Inserting the command block code:
...tells us a few things by itself. Let's break it down a little.
snd-hda-intel" part obviously tells Alsa that the sound device header is an Intel-based unit. No brainer. However, the "model=generic" part is the interesting one.
model=generic," to me at least, tells Alsa that we're looking for generic drivers of sorts for this Intel audio header. It's kind of like an override command so that Alsa looks exactly for the right stuff for the right hardware.
This recently became the issue for me the other day when I had to upgrade my computer from an old AMD FM2+ computer to a shiny new i3 - Alsa didn't immediately work with the new audio headers. That tells me that Alsa has a pre-defined library for more-than-generic audio devices. Therefore, specifying that you should use "
snd-hda-intel model=generic" tells me that audio devices like the ALC892 need explicitly-stated libraries to work effectively, such as "generic," for all intent and purpose.
I'm not saying I know everything there is about the topic, as this is simply estimating from my own experience. I am aware the post is a bit aged, but I think an answer of some kind should at least be explained...somehow.