[ALSA] Fix substream to check in PCM drain
authorTakashi Iwai <tiwai@suse.de>
Fri, 6 Jul 2007 10:27:25 +0000 (12:27 +0200)
committerJaroslav Kysela <perex@suse.cz>
Fri, 20 Jul 2007 09:11:46 +0000 (11:11 +0200)
The check of a substream in snd_pcm_drain() might not be always correct
since runtime can point a different substream (although the PCM state
of each linked substream should be same, in theory).
This patch fixes it.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/core/pcm_native.c

index a96733a5beb88aa6cdd556d7c2f19d8797f0bd51..59b29cd482aed51bb1fd0c5b8553dd3470ccb41a 100644 (file)
@@ -1487,7 +1487,7 @@ static int snd_pcm_drain(struct snd_pcm_substream *substream)
 
        snd_pcm_stream_lock_irq(substream);
        /* resume pause */
-       if (runtime->status->state == SNDRV_PCM_STATE_PAUSED)
+       if (substream->runtime->status->state == SNDRV_PCM_STATE_PAUSED)
                snd_pcm_pause(substream, 0);
 
        /* pre-start/stop - all running streams are changed to DRAINING state */