diff --git a/src/audio/dai-zephyr.c b/src/audio/dai-zephyr.c index d24f3c2024ba..0d597434fc5d 100644 --- a/src/audio/dai-zephyr.c +++ b/src/audio/dai-zephyr.c @@ -143,7 +143,7 @@ static int dai_trigger_op(struct dai *dai, int cmd, int direction) /* called from src/ipc/ipc3/handler.c and src/ipc/ipc4/dai.c */ __cold int dai_set_config(struct dai *dai, struct ipc_config_dai *common_config, - const void *spec_config) + const void *spec_config, size_t size) { const struct device *dev = dai->dev; const struct sof_ipc_dai_config *sof_cfg = spec_config; @@ -198,7 +198,7 @@ __cold int dai_set_config(struct dai *dai, struct ipc_config_dai *common_config, return -EINVAL; } - return dai_config_set(dev, &cfg, cfg_params); + return dai_config_set(dev, &cfg, cfg_params, size); } /* called from ipc/ipc3/dai.c */ diff --git a/src/include/sof/lib/dai-legacy.h b/src/include/sof/lib/dai-legacy.h index 44142412334b..c1b7c0a28653 100644 --- a/src/include/sof/lib/dai-legacy.h +++ b/src/include/sof/lib/dai-legacy.h @@ -419,7 +419,7 @@ void dai_put(struct dai *dai); * \brief Digital Audio interface formatting */ static inline int dai_set_config(struct dai *dai, struct ipc_config_dai *config, - const void *spec_config) + const void *spec_config, size_t size) { return dai->drv->ops.set_config(dai, config, spec_config); } diff --git a/src/include/sof/lib/dai-zephyr.h b/src/include/sof/lib/dai-zephyr.h index cff5fffb4228..5a15399190ee 100644 --- a/src/include/sof/lib/dai-zephyr.h +++ b/src/include/sof/lib/dai-zephyr.h @@ -237,7 +237,8 @@ void dai_put(struct dai *dai); /** * \brief Digital Audio interface formatting */ -int dai_set_config(struct dai *dai, struct ipc_config_dai *config, const void *spec_config); +int dai_set_config(struct dai *dai, struct ipc_config_dai *config, + const void *spec_config, size_t size); /** * \brief Get Digital Audio interface DMA Handshake diff --git a/src/ipc/ipc3/handler.c b/src/ipc/ipc3/handler.c index 9f865960f1bf..afcb79269ec6 100644 --- a/src/ipc/ipc3/handler.c +++ b/src/ipc/ipc3/handler.c @@ -579,7 +579,7 @@ static int ipc_dai_config_set(struct sof_ipc_dai_config *config, } /* configure DAI */ - ret = dai_set_config(dai, config_dai, config); + ret = dai_set_config(dai, config_dai, config, sizeof(*config)); dai_put(dai); /* free ref immediately */ if (ret < 0) { ipc_cmd_err(&ipc_tr, "ipc: dai %d,%d config failed %d", config->type, diff --git a/src/ipc/ipc4/dai.c b/src/ipc/ipc4/dai.c index 94fbd1823945..a1f3ed344e1f 100644 --- a/src/ipc/ipc4/dai.c +++ b/src/ipc/ipc4/dai.c @@ -396,7 +396,8 @@ __cold int dai_config(struct dai_data *dd, struct comp_dev *dev, if (ret < 0) return ret; - return dai_set_config(dd->dai, common_config, copier_cfg->gtw_cfg.config_data); + return dai_set_config(dd->dai, common_config, + copier_cfg->gtw_cfg.config_data, copier_cfg->gtw_cfg.config_length); } #if CONFIG_ZEPHYR_NATIVE_DRIVERS diff --git a/west.yml b/west.yml index be312634d0bc..31f5235e9aec 100644 --- a/west.yml +++ b/west.yml @@ -43,7 +43,7 @@ manifest: - name: zephyr repo-path: zephyr - revision: af974c307477f4e0e093abbfca768419f14a865f + revision: f908d0b5f22adaaf912e729317c323864f1e1641 remote: zephyrproject # Import some projects listed in zephyr/west.yml@revision