I've been experiencing an occational error, about twice a day, since the upgrade of alsa-lib. Both on builtin HDA sound card and my old trusty SB-Live. I am not using pulseaudio.
Under some circumstances, that I have yet to determine, any application trying to play sound will get an EBADFD (File descriptor in bad state) when accessing the alsa-device. The only solution I've figured out is to rmmod and modprobe the driver (snd-hda-intel or snd-emu10k1), or downgrade to previous alsa-lib.
When the error occurs, if I downgrade to 1.1.0, everything is fine, and upgrade to 1.1.1, EBADFD again, until rmmod+modprobe. So the problem seems to actually be with alsa-lib 1.1.1.
I have diffed the source trees of 1.1.0 and 1.1.1, but can't see any obvious culprit. Next chance I get, I'll try do a more thorough investigation to figure out if it is an alsa bug, a hardware failure or whatever the cause might be.
In the meantime, if anybody else has stumbled upon the problem, please share.