diff --git a/src/audio/base_fw_intel.c b/src/audio/base_fw_intel.c index 510d31190a22..67b87a0afed4 100644 --- a/src/audio/base_fw_intel.c +++ b/src/audio/base_fw_intel.c @@ -424,7 +424,7 @@ __cold int basefw_vendor_get_large_config(struct comp_dev *dev, uint32_t param_i extended_param_id.full = param_id; - uint32_t ret = IPC4_ERROR_INVALID_PARAM; + uint32_t ret = IPC4_INVALID_REQUEST; switch (extended_param_id.part.parameter_type) { case IPC4_MEMORY_STATE_INFO_GET: @@ -560,7 +560,7 @@ __cold int basefw_vendor_set_large_config(struct comp_dev *dev, uint32_t param_i break; } - return IPC4_UNKNOWN_MESSAGE_TYPE; + return IPC4_INVALID_REQUEST; } __cold int basefw_vendor_dma_control(uint32_t node_id, const char *config_data, size_t data_size) diff --git a/src/ipc/ipc4/handler-user.c b/src/ipc/ipc4/handler-user.c index 2bfa31babce0..e55af1c66ec5 100644 --- a/src/ipc/ipc4/handler-user.c +++ b/src/ipc/ipc4/handler-user.c @@ -809,7 +809,7 @@ static int ipc4_set_get_config_module_instance(struct ipc4_message_request *ipc4 comp_id = IPC4_COMP_ID(config->primary.r.module_id, config->primary.r.instance_id); dev = ipc4_get_comp_dev(comp_id); if (!dev) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; drv = dev->drv; @@ -817,11 +817,15 @@ static int ipc4_set_get_config_module_instance(struct ipc4_message_request *ipc4 if (!cpu_is_me(dev->ipc_config.core)) return ipc4_process_on_core(dev->ipc_config.core, false); } else { + /* BaseFW module has only 0th instance */ + if (config->primary.r.instance_id) + return IPC4_INVALID_RESOURCE_ID; + drv = ipc4_get_comp_drv(config->primary.r.module_id); } if (!drv) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; function = set ? drv->ops.set_attribute : drv->ops.get_attribute; if (!function) @@ -996,7 +1000,7 @@ __cold static int ipc4_get_large_config_module_instance(struct ipc4_message_requ config.primary.r.instance_id); dev = ipc4_get_comp_dev(comp_id); if (!dev) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; drv = dev->drv; @@ -1004,11 +1008,15 @@ __cold static int ipc4_get_large_config_module_instance(struct ipc4_message_requ if (!cpu_is_me(dev->ipc_config.core)) return ipc4_process_on_core(dev->ipc_config.core, false); } else { + /* BaseFW module has only 0th instance */ + if (config.primary.r.instance_id) + return IPC4_INVALID_RESOURCE_ID; + drv = ipc4_get_comp_drv(config.primary.r.module_id); } if (!drv) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; if (!drv->ops.get_large_config) return IPC4_INVALID_REQUEST; @@ -1041,7 +1049,7 @@ __cold static int ipc4_get_large_config_module_instance(struct ipc4_message_requ /* set up ipc4 error code for reply data */ if (ret < 0) - ret = IPC4_MOD_INVALID_ID; + ret = IPC4_INVALID_RESOURCE_ID; /* Copy host config and overwrite */ reply.extension.dat = config.extension.dat; @@ -1165,7 +1173,7 @@ __cold static int ipc4_set_large_config_module_instance(struct ipc4_message_requ comp_id = IPC4_COMP_ID(config.primary.r.module_id, config.primary.r.instance_id); dev = ipc4_get_comp_dev(comp_id); if (!dev) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; drv = dev->drv; @@ -1173,11 +1181,15 @@ __cold static int ipc4_set_large_config_module_instance(struct ipc4_message_requ if (!cpu_is_me(dev->ipc_config.core)) return ipc4_process_on_core(dev->ipc_config.core, false); } else { + /* BaseFW module has only 0th instance */ + if (config.primary.r.instance_id) + return IPC4_INVALID_RESOURCE_ID; + drv = ipc4_get_comp_drv(config.primary.r.module_id); } if (!drv) - return IPC4_MOD_INVALID_ID; + return IPC4_INVALID_RESOURCE_ID; if (!drv->ops.set_large_config) return IPC4_INVALID_REQUEST; @@ -1281,7 +1293,7 @@ __cold int ipc4_user_process_module_message(struct ipc4_message_request *ipc4, ret = IPC4_UNAVAILABLE; break; default: - ret = IPC4_UNAVAILABLE; + ret = IPC4_UNKNOWN_MESSAGE_TYPE; break; }