aboutsummaryrefslogtreecommitdiffstats
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,
503 int err; 503 int err;
504 504
505 aaci_pcm_hw_free(substream); 505 aaci_pcm_hw_free(substream);
506 if (aacirun->pcm_open) {
507 snd_ac97_pcm_close(aacirun->pcm);
508 aacirun->pcm_open = 0;
509 }
506 510
507 err = snd_pcm_lib_malloc_pages(substream, 511 err = snd_pcm_lib_malloc_pages(substream,
508 params_buffer_bytes(params)); 512 params_buffer_bytes(params));
@@ -516,7 +520,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
516 else 520 else
517 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params), 521 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
518 params_channels(params), 522 params_channels(params),
519 aacirun->pcm->r[1].slots); 523 aacirun->pcm->r[0].slots);
520 524
521 if (err) 525 if (err)
522 goto out; 526 goto out;