struct snd_ymfpci *chip = snd_pcm_substream_chip(substream);
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct snd_ymfpci_pcm *ypcm;
+       int err;
+
+       runtime->hw = snd_ymfpci_playback;
+       /* FIXME? True value is 256/48 = 5.33333 ms */
+       err = snd_pcm_hw_constraint_minmax(runtime,
+                                          SNDRV_PCM_HW_PARAM_PERIOD_TIME,
+                                          5334, UINT_MAX);
+       if (err < 0)
+               return err;
 
        ypcm = kzalloc(sizeof(*ypcm), GFP_KERNEL);
        if (ypcm == NULL)
        ypcm->chip = chip;
        ypcm->type = PLAYBACK_VOICE;
        ypcm->substream = substream;
-       runtime->hw = snd_ymfpci_playback;
        runtime->private_data = ypcm;
        runtime->private_free = snd_ymfpci_pcm_free_substream;
-       /* FIXME? True value is 256/48 = 5.33333 ms */
-       snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME, 5333, UINT_MAX);
        return 0;
 }
 
        struct snd_ymfpci *chip = snd_pcm_substream_chip(substream);
        struct snd_pcm_runtime *runtime = substream->runtime;
        struct snd_ymfpci_pcm *ypcm;
+       int err;
+
+       runtime->hw = snd_ymfpci_capture;
+       /* FIXME? True value is 256/48 = 5.33333 ms */
+       err = snd_pcm_hw_constraint_minmax(runtime,
+                                          SNDRV_PCM_HW_PARAM_PERIOD_TIME,
+                                          5334, UINT_MAX);
+       if (err < 0)
+               return err;
 
        ypcm = kzalloc(sizeof(*ypcm), GFP_KERNEL);
        if (ypcm == NULL)
        ypcm->substream = substream;    
        ypcm->capture_bank_number = capture_bank_number;
        chip->capture_substream[capture_bank_number] = substream;
-       runtime->hw = snd_ymfpci_capture;
-       /* FIXME? True value is 256/48 = 5.33333 ms */
-       snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_TIME, 5333, UINT_MAX);
        runtime->private_data = ypcm;
        runtime->private_free = snd_ymfpci_pcm_free_substream;
        snd_ymfpci_hw_start(chip);