Browse Source

ASoC: wm_adsp: Avoid attempt to free buffers that might still be in use

We should not free any buffers associated with writing out coefficients
to the DSP until all the async writes have completed. This patch updates
the out of memory path when allocating a new buffer to include a call to
regmap_async_complete.

Reported-by: JS Park <aitdark.park@samsung.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
Charles Keepax 10 years ago
parent
commit
9da7a5a9fd
1 changed files with 1 additions and 0 deletions
  1. 1 0
      sound/soc/codecs/wm_adsp.c

+ 1 - 0
sound/soc/codecs/wm_adsp.c

@@ -1355,6 +1355,7 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
 			  file, blocks, pos - firmware->size);
 			  file, blocks, pos - firmware->size);
 
 
 out_fw:
 out_fw:
+	regmap_async_complete(regmap);
 	release_firmware(firmware);
 	release_firmware(firmware);
 	wm_adsp_buf_free(&buf_list);
 	wm_adsp_buf_free(&buf_list);
 out:
 out: