[ALSA] emu10k1: General cleanup, add new locks, fix alsa bug#3501, kernel bug#9304.