У меня та же гадость. Компильнул ALSA 0.9.6, ошибок нет, а модуль snd.o загрузить невозможно - пишет unresolved symbol... У меня одна из более старых версий - 0.9.0rc6 есть - так она собралась и работает без проблем... Лишний раз подтверждается народная мудрость - не всегда хорошо, очертя голову, кидаться на суперпоследние версии некоторых софтин...
Просто надо при сборке драйвера после ./configure создать пустой файл touch include/linux/workqueue.h. Далее все как обычно. У меня кернел 2.4.20-8. все остальное тоже самое первое. Таким вот путем встает alsa 0.9.6 Сейчас обновил только ядро до 2.4.20-18.l от CCRMA, но алса по-прежнему ставится только так.
Речь идет только о "фирменном" ред-хатовском ядре. Я пробовал собирать ядро 2.4.21 из чистых исходников от kernel.org, тогда действительно проблем с alsa нет. Зато есть много других, например, с cdrecord. Для 2 jackil: у меня тоже нет возможности слить обновления? вот и нашел на linuxquestions.org решение в виде создания workqueue.h., прокатывает с любой версией ред-хатовского ядра.
У меня он через пару минут после начала записи или стирания напрочь вешал систему, помогал только железный ресет. Поветовали откатиться на старую версию cdrecord, но я решил уж лучше ядро оставить.