[ALSA] add number of periods constraint to snd-aoa
authorHeikki Lindholm <holindho@cs.helsinki.fi>
Fri, 23 Nov 2007 14:37:48 +0000 (15:37 +0100)
committerJaroslav Kysela <perex@perex.cz>
Thu, 31 Jan 2008 16:29:28 +0000 (17:29 +0100)
The aoa driver is not specifying constraints on number of periods, and, it
seems, it might end with a non-integer number, which it cannot deal with.
Fix by adding a proper constraint.

Signed-off-by: Heikki Lindholm <holindho@cs.helsinki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
sound/aoa/soundbus/i2sbus/i2sbus-pcm.c

index c6b42f9bdbc9e92eefb3bc3426bb970f297ebd2d..a4b0e1acb11d23edbbfa03def75bbe9aff8cadb8 100644 (file)
@@ -194,6 +194,12 @@ static int i2sbus_pcm_open(struct i2sbus_dev *i2sdev, int in)
        hw->period_bytes_max = 16384;
        hw->periods_min = 3;
        hw->periods_max = MAX_DBDMA_COMMANDS;
+       err = snd_pcm_hw_constraint_integer(pi->substream->runtime,
+                                           SNDRV_PCM_HW_PARAM_PERIODS);
+       if (err < 0) {
+               result = err;
+               goto out_unlock;
+       }
        list_for_each_entry(cii, &sdev->codec_list, list) {
                if (cii->codec->open) {
                        err = cii->codec->open(cii, pi->substream);