diff options
author | Cezary Rojewski <cezary.rojewski@intel.com> | 2022-10-10 15:19:51 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-10-17 14:50:13 +0300 |
commit | 2d27a1caf8ef0c443486b18de2fada3120e3fbe1 (patch) | |
tree | bd02707c2bb2558244444c093ef14f3d6876ecfa | |
parent | 18a787909ca6bac3a3a3235c08d68a4a9838fe7b (diff) | |
download | linux-2d27a1caf8ef0c443486b18de2fada3120e3fbe1.tar.xz |
ASoC: Intel: avs: Do not treat unsupported IPCs as invalid
Utilize NOT_SUPPORTED status code to differentiate between unsupported
and invalid requests. Skip over error paths if it is the former that is
communicated by the base firmware.
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://lore.kernel.org/r/20221010121955.718168-12-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/intel/avs/avs.h | 4 | ||||
-rw-r--r-- | sound/soc/intel/avs/messages.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/intel/avs/avs.h b/sound/soc/intel/avs/avs.h index 92e37722d280..91f78eb11bc1 100644 --- a/sound/soc/intel/avs/avs.h +++ b/sound/soc/intel/avs/avs.h @@ -220,8 +220,10 @@ static inline void avs_ipc_err(struct avs_dev *adev, struct avs_ipc_msg *tx, /* * If IPC channel is blocked e.g.: due to ongoing recovery, * -EPERM error code is expected and thus it's not an actual error. + * + * Unsupported IPCs are of no harm either. */ - if (error == -EPERM) + if (error == -EPERM || error == AVS_IPC_NOT_SUPPORTED) dev_dbg(adev->dev, "%s 0x%08x 0x%08x failed: %d\n", name, tx->glb.primary, tx->glb.ext.val, error); else diff --git a/sound/soc/intel/avs/messages.h b/sound/soc/intel/avs/messages.h index c0f90dba9af8..02b3b7a74783 100644 --- a/sound/soc/intel/avs/messages.h +++ b/sound/soc/intel/avs/messages.h @@ -150,6 +150,8 @@ union avs_module_msg { }; } __packed; +#define AVS_IPC_NOT_SUPPORTED 15 + union avs_reply_msg { u64 val; struct { |