aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-11-29 16:39:52 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2009-12-08 11:16:51 -0800
commita390ede93a1b9f6a66c39789fc97e6219068c9a9 (patch)
treefdc1f01c86531e12746d5b8a03155fd708bed996
parent0687110b06ff817f612381a347918a0b7eecb380 (diff)
ALSA: AACI: fix AC97 multiple-open bug
commit 4acd57c3de62374fe5bb52e5cd24538190f4eab2 upstream. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--sound/arm/aaci.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index b0a47449496..c735a0dca76 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -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));