Modules: Digigram PCXHR driver
Fix the hardware set up when the sample rate is changed multiple times.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
/* 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) */
/* 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;
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;
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) */
}
} while(0); /* do only once (so we can use break instead of goto) */