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 a03fe80a7a73..eb715e732106 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -501,6 +501,10 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
501 int err; 501 int err;
502 502
503 aaci_pcm_hw_free(substream); 503 aaci_pcm_hw_free(substream);
504 if (aacirun->pcm_open) {
505 snd_ac97_pcm_close(aacirun->pcm);
506 aacirun->pcm_open = 0;
507 }
504 508
505 err = devdma_hw_alloc(NULL, substream, 509 err = devdma_hw_alloc(NULL, substream,
506 params_buffer_bytes(params)); 510 params_buffer_bytes(params));
@@ -514,7 +518,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream,
514 else 518 else
515 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params), 519 err = snd_ac97_pcm_open(aacirun->pcm, params_rate(params),
516 params_channels(params), 520 params_channels(params),
517 aacirun->pcm->r[1].slots); 521 aacirun->pcm->r[0].slots);
518 522
519 if (err) 523 if (err)
520 goto out; 524 goto out;