On Wed, Dec 23, 2015 at 12:14:56AM +0000, Mark Brown wrote: > On Tue, Dec 15, 2015 at 11:29:45AM +0000, Charles Keepax wrote: > > > +int wm_adsp_compr_open(struct wm_adsp *dsp, struct snd_compr_stream *stream) > > +{ > > + struct wm_adsp_compr *compr; > > + int ret = 0; > > + > > + mutex_lock(&dsp->pwr_lock); > > + > > + if (wm_adsp_fw[dsp->fw].num_caps == 0) { > > + adsp_err(dsp, "Firmware does not support compressed API\n"); > > + ret = -ENXIO; > > + goto out; > > + } > > + > > + if (wm_adsp_fw[dsp->fw].compr_direction != stream->direction) { > > + adsp_err(dsp, "Firmware does not support stream direction\n"); > > + ret = -EINVAL; > > + goto out; > > + } > > + > > + compr = kzalloc(sizeof(*compr), GFP_KERNEL); > > You're doing this under lock but not checking for an attempt to allocate > on a DSP already in use. A check does actually get added later in: ASoC: wm_adsp: Attach buffers and streams together I think that is really just a bit of a rebasing messup. I will pull that forward into this patch for the next spin. Thanks, Charles _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel