ASoC: Intel: sst: fix the IRQ locked issue
authorLiam Girdwood <liam.r.girdwood@linux.intel.com>
Mon, 14 Dec 2015 12:06:13 +0000 (20:06 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 14 Dec 2015 14:05:32 +0000 (14:05 +0000)
commitaf1086ba051aa33c559350a5fdb533acfe98a80c
tree1438692664aae42c8b3825f9478a61b98bf92472
parentad83abe9a60e185b255df2534de3a9e669d65859
ASoC: Intel: sst: fix the IRQ locked issue

If driver received a message that it can't handle, it won't
clear the corresponding bit and unmask interrupt, this may
lock the IRQ and DSP can't send message anymore.

To fix the issue, we should Always update IMRX after IPC.

Here we always clear the DONE/BUSY bit and unmask the IRQ
source, even when IPC failures have occurred previously.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Modified-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Jie Yang <yang.jie@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/haswell/sst-haswell-ipc.c