aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-11-17 10:48:21 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-12-06 15:05:47 -0800
commit6633e461b5f4fec7d116f94c74076890428ab23a (patch)
tree4ad4f555ba0d00521da7b12224adffdca3473904
parent2fe35401e2f611964eff6f1fb0b7b689cb30f04b (diff)
downloadlinux-linaro-stable-6633e461b5f4fec7d116f94c74076890428ab23a.tar.gz
ASoC: wm_adsp: Avoid attempt to free buffers that might still be in use
commit 9da7a5a9fdeeb76b2243f6b473363a7e6147ab6f upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.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 ca1e999026e5..d785e46be47c 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -964,6 +964,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: