ASoC: Intel: avs: Block IPC channel on suspend
authorCezary Rojewski <cezary.rojewski@intel.com>
Thu, 7 Jul 2022 12:41:47 +0000 (14:41 +0200)
committerMark Brown <broonie@kernel.org>
Fri, 8 Jul 2022 17:53:22 +0000 (18:53 +0100)
To allow for driver's filesystem interfaces e.g.: debugfs, to be touched
even when the device is asleep, mark IPC-channel as blocked when the
device is suspended. This causes any invocation of said interfaces that
do not toggle PM themselves to gracefully fail with "Operation not
permitted" message.

Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20220707124153.1858249-7-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/core.c

index 664f87c33e9d1c84830013ebb14e0ec4aa9e755d..4234adeb3d1c4cd7968b479a08d0fe78cb957fe2 100644 (file)
@@ -556,6 +556,7 @@ static int __maybe_unused avs_suspend_common(struct avs_dev *adev)
                return AVS_IPC_RET(ret);
        }
 
+       avs_ipc_block(adev->ipc);
        avs_dsp_op(adev, int_control, false);
        snd_hdac_ext_bus_ppcap_int_enable(bus, false);