23 Dec
2015
23 Dec
'15
12:08 p.m.
On Wed, Dec 23, 2015 at 10:00:44AM +0000, Charles Keepax wrote:
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.
Oops.. missed you had applied it anyway. Thanks, will fix up the comments on the last patch and resend today.
Thanks, Charles