summaryrefslogtreecommitdiff
path: root/sound/arm
diff options
context:
space:
mode:
Diffstat (limited to 'sound/arm')
-rw-r--r--sound/arm/aaci.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index e59372887f36..1534f3d88bce 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -503,6 +503,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 = snd_pcm_lib_malloc_pages(substream,
params_buffer_bytes(params));
@@ -516,7 +520,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
else
err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
params_channels(params),
- aacirun->pcm->r[1].slots);
+ aacirun->pcm->r[0].slots);
if (err)
goto out;