Same will cause problems in ALSA also, because nobody is checking whether channel_min/max is zero; it is used in pcm_native.c http://mailman.alsa-project.org/pipermail/alsa-devel/2007-June/001400.html On 6/12/07, Nobin Mathew <nobin.mathew@xxxxxxxxx> wrote: > Seems like a problem, > Adding to that > > if (machine->ops && machine->ops->shutdown) > machine->ops->shutdown(substream); > > if (platform->pcm_ops->close) > platform->pcm_ops->close(substream); > > if (cpu_dai->ops.shutdown) > cpu_dai->ops.shutdown(substream); > > if it is a error condition then above functions are called twice (also > in snd_codec_close()) > > Nobin Mathew > > > On 6/11/07, Matthieu CASTET <matthieu.castet@xxxxxxxxxx> wrote: > > Hi, > > > > it seems there is a bug in soc_pcm_open. In some case [1] we are in a error > > path, but we don't set the ret return value. > > > > This cause bug/crash from alsa core. > > > > Thanks > > > > Matthieu > > > > > > > > [1]http://hg-mirror.alsa-project.org/alsa-kernel/file/38926de0e79c/soc/soc-core.c > > if (!runtime->hw.rates) { > > > > 218 printk(KERN_ERR "asoc: %s <-> %s No matching rates\n", > > > > 219 codec_dai->name, cpu_dai->name); > > > > 220 goto machine_err; > > > > 221 } > > > > 222 if (!runtime->hw.formats) { > > > > 223 printk(KERN_ERR "asoc: %s <-> %s No matching formats\n", > > > > 224 codec_dai->name, cpu_dai->name); > > > > 225 goto machine_err; > > > > 226 } > > > > 227 if (!runtime->hw.channels_min || !runtime->hw.channels_max) { > > > > 228 printk(KERN_ERR "asoc: %s <-> %s No matching channels\n", > > > > 229 codec_dai->name, cpu_dai->name); > > > > 230 goto machine_err; > > > > 231 } > > > > > > _______________________________________________ > > Alsa-devel mailing list > > Alsa-devel@xxxxxxxxxxxxxxxx > > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel > > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel