[alsa-devel] [PATCH] topology: Fix issue in parsing routes when generating topology binary
Takashi Iwai
tiwai at suse.de
Fri May 5 09:25:07 CEST 2017
On Fri, 05 May 2017 08:52:02 +0200,
fuweix.tang at intel.com wrote:
>
> From: Fuwei Tang <fuweix.tang at intel.com>
>
> We missed parsing the index value, which is used as a use case indicator, when
> processing the route objects.
>
> This patch fixes the bug.
>
> Signed-off-by: Fuwei Tang <fuweix.tang at intel.com>
> Tested-by: Subhransu S. Prusty <subhransu.s.prusty at intel.com>
> ---
> src/topology/dapm.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/src/topology/dapm.c b/src/topology/dapm.c
> index 13aa1c4..2fa387f 100644
> --- a/src/topology/dapm.c
> +++ b/src/topology/dapm.c
> @@ -381,7 +381,7 @@ done:
> }
>
>
> -static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg)
> +static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg, int index)
> {
> snd_config_iterator_t i, next;
> snd_config_t *n;
> @@ -399,7 +399,7 @@ static int tplg_parse_routes(snd_tplg_t *tplg, snd_config_t *cfg)
> elem = tplg_elem_new_route(tplg);
> if (!elem)
> return -ENOMEM;
> -
> + elem->index = index;
> line = elem->route;
>
> err = tplg_parse_line(val, line);
> @@ -419,7 +419,8 @@ int tplg_parse_dapm_graph(snd_tplg_t *tplg, snd_config_t *cfg,
> snd_config_iterator_t i, next;
> snd_config_t *n;
> int err;
> - const char *graph_id;
> + const char *graph_id, *val = NULL;
> + int index;
>
> if (snd_config_get_type(cfg) != SND_CONFIG_TYPE_COMPOUND) {
> SNDERR("error: compound is expected for dapm graph definition\n");
> @@ -436,8 +437,14 @@ int tplg_parse_dapm_graph(snd_tplg_t *tplg, snd_config_t *cfg,
> continue;
> }
>
> + if (strcmp(id, "index") == 0) {
> + if (snd_config_get_string(n, &val) < 0)
> + return NULL;
This function should return an error code.
Takashi
More information about the Alsa-devel
mailing list