summaryrefslogtreecommitdiff
path: root/sound/aoa/soundbus/i2sbus
diff options
context:
space:
mode:
authorHeikki Lindholm <holindho@cs.helsinki.fi>2007-11-23 15:37:48 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:29:28 +0100
commitdf86d1149f4b7b77158755b85b85f94e7bade32f (patch)
treea06cc07d9af3d56f384ab9f1f31dcd12707d37d9 /sound/aoa/soundbus/i2sbus
parent7c7fc2d44b7a660846115e65b67772b6742a14d8 (diff)
[ALSA] add number of periods constraint to snd-aoa
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>
Diffstat (limited to 'sound/aoa/soundbus/i2sbus')
-rw-r--r--sound/aoa/soundbus/i2sbus/i2sbus-pcm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
index c6b42f9bdbc9..a4b0e1acb11d 100644
--- a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
+++ b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
@@ -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);