ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX
authorCezary Rojewski <cezary.rojewski@intel.com>
Fri, 30 May 2025 14:10:18 +0000 (16:10 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 2 Jun 2025 11:26:45 +0000 (12:26 +0100)
commit9ad1f3cd0d60444c69948854c7e50d2a61b63755
treee40ff9fe5e8701a7ee3cb9f0fb9e07d733e5bb1e
parentff0045de4ee0288dec683690f66f2f369b7d3466
ASoC: Intel: avs: Fix deadlock when the failing IPC is SET_D0IX

The procedure handling IPC timeouts and EXCEPTION_CAUGHT notification
shall cancel any D0IX work before proceeding with DSP recovery. If
SET_D0IX called from delayed_work is the failing IPC the procedure will
deadlock. Conditionally skip cancelling the work to fix that.

Fixes: 335c4cbd201d ("ASoC: Intel: avs: D0ix power state support")
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250530141025.2942936-3-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/ipc.c