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)
committerDanny Wood <danwood76@gmail.com>
Tue, 29 Jan 2019 13:05:14 +0000 (13:05 +0000)
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>
sound/soc/codecs/wm_adsp.c

index 9df4a861aca355b74fcaf71ac7f309d83651dd23..e0e83efd7698af6064a318321c29912ff0d9f244 100644 (file)
@@ -1838,6 +1838,7 @@ out_async:
        }
 
 out_fw:
+       regmap_async_complete(regmap);
        release_firmware(firmware);
        wm_adsp_buf_free(&buf_list);
 out: