ALSA: AACI: fix AC97 multiple-open bug
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 29 Nov 2009 16:39:52 +0000 (16:39 +0000)
committerTakashi Iwai <tiwai@suse.de>
Mon, 30 Nov 2009 13:50:53 +0000 (14:50 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/arm/aaci.c

index 1f0f8213e2d5dde34a11e220d3fff44c3b70120b..1cb7c282a1fb63d4a1c6dd5da318fe58ff646155 100644 (file)
@@ -504,6 +504,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
        int err;
 
        aaci_pcm_hw_free(substream);
+       if (aacirun->pcm_open) {
+               snd_ac97_pcm_close(aacirun->pcm);
+               aacirun->pcm_open = 0;
+       }
 
        err = devdma_hw_alloc(NULL, substream,
                              params_buffer_bytes(params));