From fc5832a932915892eb0a6b33363096be5ebf4f6f Mon Sep 17 00:00:00 2001 From: Takashi Iwai Date: Tue, 10 Jan 2006 11:14:49 +0100 Subject: [PATCH] --- yaml --- r: 19546 b: refs/heads/master c: 8937fd88558d5a741d6ed29d5f8c327646a4f1db h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/sound/pci/pcxhr/pcxhr.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 469720648333..cf14f9dd0eea 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d2981393615f9a7adb8223a2ab1e0d7423d5c9dd +refs/heads/master: 8937fd88558d5a741d6ed29d5f8c327646a4f1db diff --git a/trunk/sound/pci/pcxhr/pcxhr.c b/trunk/sound/pci/pcxhr/pcxhr.c index b8c0853a8278..57fe9538f5a4 100644 --- a/trunk/sound/pci/pcxhr/pcxhr.c +++ b/trunk/sound/pci/pcxhr/pcxhr.c @@ -744,13 +744,14 @@ static int pcxhr_prepare(struct snd_pcm_substream *subs) /* only the first stream can choose the sample rate */ /* the further opened streams will be limited to its frequency (see open) */ /* set the clock only once (first stream) */ - if (mgr->sample_rate == 0) { + if (mgr->sample_rate != subs->runtime->rate) { err = pcxhr_set_clock(mgr, subs->runtime->rate); if (err) break; + if (mgr->sample_rate == 0) + /* start the DSP-timer */ + err = pcxhr_hardware_timer(mgr, 1); mgr->sample_rate = subs->runtime->rate; - - err = pcxhr_hardware_timer(mgr, 1); /* start the DSP-timer */ } } while(0); /* do only once (so we can use break instead of goto) */