Hi, currently, snd_pcm_wait() returns -EIO if any error happens during poll(), regardless what really happened. i believe it's better to return a reasonable error code corresponding to the current state, such as -EPIPE and -ESTRPIPE.
the attached patch adds this feature by calling snd_pcm_state() in snd_pcm_wait(). this cleans up also some codes there. i think there is no major drawback by this change. but i'd like to ask here to make it sure. do you see any problems? Takashi
pcm-wait-fix.dif
Description: Binary data