aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-11-17 10:48:21 +0000
committerMark Brown <broonie@kernel.org>2014-11-17 14:22:04 +0000
commit9da7a5a9fdeeb76b2243f6b473363a7e6147ab6f (patch)
tree53ff8a29cfca39383c28327e51f9a4b869abb526
parentf114040e3ea6e07372334ade75d1ee0775c355e1 (diff)
downloadsquashfs-next-9da7a5a9fdeeb76b2243f6b473363a7e6147ab6f.tar.gz
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
-rw-r--r--sound/soc/codecs/wm_adsp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm_adsp.c b/sound/soc/codecs/wm_adsp.c
index f412a9911a75d2..67124783558a53 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/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);
out_fw:
+ regmap_async_complete(regmap);
release_firmware(firmware);
wm_adsp_buf_free(&buf_list);
out: