aboutsummaryrefslogtreecommitdiff
path: root/sound
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 10:21:00 -0800
commitc20be9b482978de39a489dfc2e2a4ccb8ee9ea56 (patch)
tree4bb30b60081b5edc2c828ce6c2ec6fe8afc43bbc /sound
parentb381ea627f10c081d4f45ce601463732bda0e765 (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>
Diffstat (limited to 'sound')
-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 dc78272fc39..d3f1912aa2a 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));