Browse Source

[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>
Heikki Lindholm 17 năm trước cách đây
mục cha
commit
df86d1149f
1 tập tin đã thay đổi với 6 bổ sung0 xóa
  1. 6 0
      sound/aoa/soundbus/i2sbus/i2sbus-pcm.c

+ 6 - 0
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);