]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: wm_adsp: Avoid attempt to free buffers that might still be in use
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 17 Nov 2014 10:48:21 +0000 (10:48 +0000)
committerJiri Slaby <jslaby@suse.cz>
Sat, 6 Dec 2014 14:14:52 +0000 (15:14 +0100)
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>
sound/soc/codecs/wm_adsp.c

index 61e871bf63dd625abb9c1d75a61a8aa5e7ec00f5..f0e97fcde1bf270619351b7a581d8b062fb2bf49 100644 (file)
@@ -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: