
Sorry to interrupt you. Does this patch look good now? This alsa-lib patch is a bug fix without any ABI changes. And it's not part of the other 2 series for BE DAI support.
Thanks Mengdong
-----Original Message----- From: mengdong.lin@linux.intel.com [mailto:mengdong.lin@linux.intel.com] Sent: Friday, July 22, 2016 1:13 PM To: alsa-devel@alsa-project.org; broonie@kernel.org Cc: tiwai@suse.de; Girdwood, Liam R; Lin, Mengdong; Nc, Shreyas; Mengdong Lin Subject: [PATCH v3 2/2] topology: Fix the missing referenced elem ptr when merging private data
From: Mengdong Lin mengdong.lin@linux.intel.com
tplg_copy_data() should set the valid referenced data element pointer on success. The caller will double check this pointer for all kinds of references, including controls and data.
Signed-off-by: Mengdong Lin mengdong.lin@linux.intel.com
diff --git a/src/topology/data.c b/src/topology/data.c index 768fc27..4798086 100644 --- a/src/topology/data.c +++ b/src/topology/data.c @@ -1053,8 +1053,10 @@ int tplg_copy_data(snd_tplg_t *tplg, struct tplg_elem *elem,
tplg_dbg("Data '%s' used by '%s'\n", ref->id, elem->id); /* overlook empty private data */
- if (!ref_elem->data || !ref_elem->data->size)
if (!ref_elem->data || !ref_elem->data->size) {
ref->elem = ref_elem;
return 0;
}
old_priv = get_priv_data(elem); if (!old_priv)
@@ -1078,6 +1080,8 @@ int tplg_copy_data(snd_tplg_t *tplg, struct tplg_elem *elem, ref_elem->compound_elem = 1; memcpy(priv->data + old_priv_data_size, ref_elem->data->data, priv_data_size);
- ref->elem = ref_elem; return 0;
}
-- 2.5.0