This blacklists bt878 (and thus bttv, which is what breaks snd_bt87x) from being automatically loaded for the device, leaving only snd_bt87x loaded; and then causes bt878 to be loaded manually later in the boot sequence, thus forcing the load order.
This is a "hack" though, the correct fix is to stop bttv from breaking snd_bt87x in the first place and allow them to be loaded in any order.
The easiest "quick fix" for this is to do the following:
echo bt878 > /etc/modprobe. d/blacklist- bt878
echo bt878 >> /etc/modules
This blacklists bt878 (and thus bttv, which is what breaks snd_bt87x) from being automatically loaded for the device, leaving only snd_bt87x loaded; and then causes bt878 to be loaded manually later in the boot sequence, thus forcing the load order.
This is a "hack" though, the correct fix is to stop bttv from breaking snd_bt87x in the first place and allow them to be loaded in any order.