aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/ctxfi/ctatc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c
index 1a4bb357eaef..e14ed714721b 100644
--- a/sound/pci/ctxfi/ctatc.c
+++ b/sound/pci/ctxfi/ctatc.c
@@ -254,6 +254,9 @@ static int atc_pcm_playback_prepare(struct ct_atc *atc, struct ct_atc_pcm *apcm)
254 return 0; 254 return 0;
255 } 255 }
256 256
257 /* first release old resources */
258 atc->pcm_release_resources(atc, apcm);
259
257 /* Get SRC resource */ 260 /* Get SRC resource */
258 desc.multi = apcm->substream->runtime->channels; 261 desc.multi = apcm->substream->runtime->channels;
259 desc.msr = atc->msr; 262 desc.msr = atc->msr;
@@ -496,6 +499,9 @@ atc_pcm_capture_get_resources(struct ct_atc *atc, struct ct_atc_pcm *apcm)
496 int n_srcimp = 0, n_amixer = 0, n_srcc = 0, n_sum = 0; 499 int n_srcimp = 0, n_amixer = 0, n_srcc = 0, n_sum = 0;
497 struct src_node_conf_t src_node_conf[2] = {{0} }; 500 struct src_node_conf_t src_node_conf[2] = {{0} };
498 501
502 /* first release old resources */
503 atc->pcm_release_resources(atc, apcm);
504
499 /* The numbers of converting SRCs and SRCIMPs should be determined 505 /* The numbers of converting SRCs and SRCIMPs should be determined
500 * by pitch value. */ 506 * by pitch value. */
501 507
@@ -767,6 +773,9 @@ static int spdif_passthru_playback_get_resources(struct ct_atc *atc,
767 int n_amixer = apcm->substream->runtime->channels, i = 0; 773 int n_amixer = apcm->substream->runtime->channels, i = 0;
768 unsigned int pitch = 0, rsr = atc->pll_rate; 774 unsigned int pitch = 0, rsr = atc->pll_rate;
769 775
776 /* first release old resources */
777 atc->pcm_release_resources(atc, apcm);
778
770 /* Get SRC resource */ 779 /* Get SRC resource */
771 desc.multi = apcm->substream->runtime->channels; 780 desc.multi = apcm->substream->runtime->channels;
772 desc.msr = 1; 781 desc.msr = 1;