summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>2014-11-17 10:48:21 +0000
committerJiri Slaby <jslaby@suse.cz>2014-12-06 15:14:52 +0100
commit0655044cc4972492962c4bb6f6c7098beb0b98c2 (patch)
treed2b3bd75bdc9197b475b5e4b6b95cb4f4a6fc7a1
parentd1c6c007710cb9b487e79e1e4e34d4efd8e4f2d2 (diff)
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: Jiri Slaby <jslaby@suse.cz>
-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 61e871bf63dd..f0e97fcde1bf 100644
--- a/sound/soc/codecs/wm_adsp.c
+++ b/sound/soc/codecs/wm_adsp.c
@@ -1341,6 +1341,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: