linux/sound/soc/intel
Pardha Saradhi K 5cd1f5c321 ASoC: Intel: Skylake: Fix IPC rx_list corruption
In SKL+ platforms, all IPC commands are serialised, i.e. the driver sends
a new IPC to DSP, only after receiving a reply from the firmware for the
current IPC.

Hence it seems apparent that there is only a single modifier of the IPC RX
List. However, during an IPC timeout case in a multithreaded environment,
there is a possibility of the list element being deleted two times if not
properly protected.

So, use spin lock save/restore to prevent rx_list corruption.

Signed-off-by: Pardha Saradhi K <pardha.saradhi.kesapragada@intel.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2017-05-24 18:25:12 +01:00
..
atom ASoC: Intel: Atom: update Thinkpad 10 quirk 2017-04-18 18:19:04 +01:00
baytrail ASoC: intel: Replace kthread with work 2016-11-30 17:41:13 +00:00
boards Merge remote-tracking branch 'asoc/topic/intel' into asoc-next 2017-04-30 22:15:41 +09:00
common ASoC: Intel: Common: Update dsp register poll implementation 2017-01-06 18:14:45 +00:00
haswell ASoC: intel: remove unused variable data and associated code 2017-03-27 12:31:43 +01:00
skylake ASoC: Intel: Skylake: Fix IPC rx_list corruption 2017-05-24 18:25:12 +01:00
Kconfig ASoC: Intel: boards: add card for MinnowBoardMax/Up I2S access 2017-03-13 16:41:15 +00:00
Makefile ASoC: Intel: rename SND_SST_MFLD_PLATFORM to SND_SST_ATOM_HIFI2_PLATFORM 2017-01-17 17:46:40 +00:00