ASoC: SOF: topology: fix the ipc_size calculation for process component
authorKeyon Jie <yang.jie@linux.intel.com>
Tue, 25 Aug 2020 23:50:37 +0000 (16:50 -0700)
committerMark Brown <broonie@kernel.org>
Wed, 26 Aug 2020 12:19:14 +0000 (13:19 +0100)
The topology private struct is used for token parsing and its size
should not be included to the ipc_size, fix it here though it didn't
cause any real issue as the Firmware won't use this wrong-added data.

Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20200825235040.1586478-5-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/topology.c

index 707fbac3e64f81e2bda28c7ae10aefb0ea7e6e3c..95e63d138326e6b804b0763e910ff2db22a030a5 100644 (file)
@@ -2114,9 +2114,7 @@ static int sof_process_load(struct snd_soc_component *scomp, int index,
                        goto out;
        }
 
-       ipc_size = sizeof(struct sof_ipc_comp_process) +
-               le32_to_cpu(private->size) +
-               ipc_data_size;
+       ipc_size = sizeof(struct sof_ipc_comp_process) + ipc_data_size;
 
        /* we are exceeding max ipc size, config needs to be sent separately */
        if (ipc_size > SOF_IPC_MSG_MAX_SIZE) {