diff mbox series

ASoC: SOF: topology: Fix logic for copying tuples

Message ID 20230512114630.24439-1-peter.ujfalusi@linux.intel.com (mailing list archive)
State Accepted
Commit 41c5305cc3d827d2ea686533777a285176ae01a0
Headers show
Series ASoC: SOF: topology: Fix logic for copying tuples | expand

Commit Message

Peter Ujfalusi May 12, 2023, 11:46 a.m. UTC
From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>

Topology could have more instances of the tokens being searched for than
the number of sets that need to be copied. Stop copying token after the
limit of number of token instances has been reached. This worked before
only by chance as we had allocated more size for the tuples array than
the number of actual tokens being parsed.

Fixes: 7006d20e5e9d ("ASoC: SOF: Introduce IPC3 ops")
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
---
 sound/soc/sof/topology.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Mark Brown May 15, 2023, 11:09 a.m. UTC | #1
On Fri, 12 May 2023 14:46:30 +0300, Peter Ujfalusi wrote:
> Topology could have more instances of the tokens being searched for than
> the number of sets that need to be copied. Stop copying token after the
> limit of number of token instances has been reached. This worked before
> only by chance as we had allocated more size for the tuples array than
> the number of actual tokens being parsed.
> 
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/1] ASoC: SOF: topology: Fix logic for copying tuples
      commit: 41c5305cc3d827d2ea686533777a285176ae01a0

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark
diff mbox series

Patch

diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index d3d536b0a8f5..b80566570512 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -586,6 +586,10 @@  static int sof_copy_tuples(struct snd_sof_dev *sdev, struct snd_soc_tplg_vendor_
 				if (*num_copied_tuples == tuples_size)
 					return 0;
 			}
+
+			/* stop when we've found the required token instances */
+			if (found == num_tokens * token_instance_num)
+				return 0;
 		}
 
 		/* next array */