ALSA: pcm - Tell user that stream to be rewound is suspended
authorLubomir Rintel <lkundrak@v3.sk>
Sun, 2 Aug 2009 16:14:44 +0000 (18:14 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 3 Aug 2009 06:57:00 +0000 (08:57 +0200)
commit51840409b6c928eead140157d4e9fc267f50caf9
tree8729ed1b55b298c3491f286c70060329e7366efb
parent4be3bd7849165e7efa6b0b35a23d6a3598d97465
ALSA: pcm - Tell user that stream to be rewound is suspended

Return STRPIPE instead of EBADF when userspace attempts to rewind
of forward a stream that was suspended in meanwhile, so that it
can be recovered by snd_pcm_recover().

This was causing Pulseaudio to unload the ALSA sink module under a race
condition when it attempted to rewind the stream right after resume from
suspend, before writing to the stream which would cause it to revive the
stream otherwise. Tested to work with Pulseaudio patched to attempt to
snd_pcm_recover() upon receiving an error from snd_pcm_rewind().

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_native.c