summaryrefslogtreecommitdiff
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorBard Liao <yung-chuan.liao@linux.intel.com>2023-07-31 16:42:52 -0500
committerMark Brown <broonie@kernel.org>2023-07-31 23:22:38 +0100
commit656dd91a3a1ca27a02d9a79d1720b2ca40d272cf (patch)
tree4f9c005cb63bef58abdf59edd74474ca1456ee30 /sound/soc/intel
parent8673e68b594684fac53398ec5783a6c8469a07a1 (diff)
ASoC: Intel: sof_sdw: break earlier when a adr link contains different codecs
create_codec_dai_name() is used to create codec component's information in different adr links. We can and should break before we do anything. Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20230731214257.444605-19-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r--sound/soc/intel/boards/sof_sdw.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c
index 1a60965439dd..846ba8e1515c 100644
--- a/sound/soc/intel/boards/sof_sdw.c
+++ b/sound/soc/intel/boards/sof_sdw.c
@@ -1157,6 +1157,15 @@ static int create_codec_dai_name(struct device *dev,
adr = adr_link->adr_d[i].adr;
+ codec_index = find_codec_info_part(adr);
+ if (codec_index < 0)
+ return codec_index;
+ if (_codec_index != -1 && codec_index != _codec_index) {
+ dev_dbg(dev, "Different devices on the same sdw link\n");
+ break;
+ }
+ _codec_index = codec_index;
+
sdw_version = SDW_VERSION(adr);
link_id = SDW_DISCO_LINK_ID(adr);
unique_id = SDW_UNIQUE_ID(adr);
@@ -1183,15 +1192,6 @@ static int create_codec_dai_name(struct device *dev,
if (!codec[comp_index].name)
return -ENOMEM;
- codec_index = find_codec_info_part(adr);
- if (codec_index < 0)
- return codec_index;
- if (_codec_index != -1 && codec_index != _codec_index) {
- dev_dbg(dev, "Different devices on the same sdw link\n");
- break;
- }
- _codec_index = codec_index;
-
codec[comp_index].dai_name =
codec_info_list[codec_index].dais[dai_index].dai_name;