struct snd_pcm_runtime *runtime = substream->runtime;
 
        runtime->hw = snd_cs5535audio_playback;
+       runtime->hw.rates = cs5535au->ac97->rates[AC97_RATES_FRONT_DAC];
+       snd_pcm_limit_hw_rates(runtime);
        cs5535au->playback_substream = substream;
        runtime->private_data = &(cs5535au->dmas[CS5535AUDIO_DMA_PLAYBACK]);
        if ((err = snd_pcm_hw_constraint_integer(runtime,
        struct snd_pcm_runtime *runtime = substream->runtime;
 
        runtime->hw = snd_cs5535audio_capture;
+       runtime->hw.rates = cs5535au->ac97->rates[AC97_RATES_ADC];
+       snd_pcm_limit_hw_rates(runtime);
        cs5535au->capture_substream = substream;
        runtime->private_data = &(cs5535au->dmas[CS5535AUDIO_DMA_CAPTURE]);
        if ((err = snd_pcm_hw_constraint_integer(runtime,