summaryrefslogtreecommitdiff
path: root/sound/soc/intel/sst-dsp.c
diff options
context:
space:
mode:
authorWenkai Du <wenkai.du@intel.com>2014-04-23 13:29:30 +0300
committerMark Brown <broonie@linaro.org>2014-04-23 12:11:20 +0100
commitd132cb0a162fa55c82e06b771fcaa871d30c9398 (patch)
tree73bb32ad7e94188caf7ecbc992a3eb6b12eefdba /sound/soc/intel/sst-dsp.c
parent95e9ee92e20162681e9f65c25962e0606db9d149 (diff)
ASoC: Intel: Fix audio crash due to race condition in stream deletion
There is a race between sst_byt_stream_free() and sst_byt_get_stream() if sst_byt_get_stream() called from sst_byt_irq_thread() context is accessing the byt->stream_list while a stream is deleted from the list. A stream is added to byt->stream_list in sst_byt_stream_new() and deleted in sst_byt_stream_free(). sst_byt_get_stream() is always protected by sst->spinlock, but the stream addition and deletion are not protected. The patch adds spinlock to both stream addition and deletion. [Jarkko: Same fix added to sst-haswell-ipc.c too] Signed-off-by: Wenkai Du <wenkai.du@intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/intel/sst-dsp.c')
0 files changed, 0 insertions, 0 deletions