Johannes Berg kirjoitti: > On Fri, 2007-11-23 at 14:25 +0200, Heikki O Lindholm wrote: >> From: Heikki Lindholm <holindho@xxxxxxxxxxxxxx> >> >> 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@xxxxxxxxxxxxxx> >> --- >> try 3: fixed coding style >> >> diff -r 1b54a8725ded aoa/soundbus/i2sbus/i2sbus-pcm.c >> --- a/aoa/soundbus/i2sbus/i2sbus-pcm.c Wed Nov 14 17:07:17 2007 +0100 >> +++ b/aoa/soundbus/i2sbus/i2sbus-pcm.c Fri Nov 23 14:16:07 2007 +0200 >> @@ -194,6 +194,12 @@ static int i2sbus_pcm_open(struct i2sbus >> 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); > > Personally, I prefer that indented to just after the opening > parenthesis. > > ;) > >> + 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); > > > So what I'm not sure on... Why do we see the same behaviour with other > drivers? Same bug? I'd guess so. As I said, I couldn't reproduce the bug on the x86 machines I tried. Anyways, the constraint system of ALSA being quite complex and the fact that buffer size and period size/number of periods are separated in ALSA do seem a like an open invitation to bugs like this. -- Heikki Lindholm _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel