Comment 16 for bug 29789

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.