]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: SOF: Intel: Fix endpoint index if endpoints are missing
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Thu, 2 Apr 2026 06:45:30 +0000 (14:45 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:30:39 +0000 (13:30 +0200)
[ Upstream commit 86facd80a2a37536937f06de637abf9e8cabdb4b ]

In case of missing endpoints, the sequential numbering will cause wrong
mapping. Instead, assign the original DAI index from codec_info_list.

Fixes: 5226d19d4cae ("ASoC: SOF: Intel: use sof_sdw as default SDW machine driver")
Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20260402064531.2287261-2-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/sof/intel/hda.c

index 686ecc040867a23fcc976c51ed1316c8b3e81f75..882198308319ef06fc041229168bc5de89b571c9 100644 (file)
@@ -1197,7 +1197,7 @@ static struct snd_soc_acpi_adr_device *find_acpi_adr_device(struct device *dev,
                                                 codec_info_list[i].dais[j].dai_type))
                                continue;
 
-                       endpoints[ep_index].num = ep_index;
+                       endpoints[ep_index].num = j;
                        if (codec_info_list[i].dais[j].dai_type == SOC_SDW_DAI_TYPE_AMP) {
                                /* Assume all amp are aggregated */
                                endpoints[ep_index].aggregated = 1;