[SRU][R][PATCH 14/18] ASoC: sdw_utils: remove dai registered check
Chris Chiu
chris.chiu at canonical.com
Tue Mar 17 05:21:59 UTC 2026
From: Bard Liao <yung-chuan.liao at linux.intel.com>
BugLink: https://bugs.launchpad.net/bugs/2139391
Checking for a registered DAI for non-existing endpoints causes the
following error. The driver will always return -EPROBE_DEFER if the
codec driver doesn't register the DAI of the unexist endpoint.
Signed-off-by: Bard Liao <yung-chuan.liao at linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi at linux.intel.com>
Reviewed-by: Liam Girdwood <liam.r.girdwood at intel.com>
Reviewed-by: Charles Keepax <ckeepax at opensource.cirrus.com>
Link: https://patch.msgid.link/20260120065658.1806027-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie at kernel.org>
(cherry picked from commit 8d38c275f7ffe257d21bea224d4288eef183817d linux-next)
Signed-off-by: Chris Chiu <chris.chiu at canonical.com>
---
sound/soc/sdw_utils/soc_sdw_utils.c | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/sound/soc/sdw_utils/soc_sdw_utils.c b/sound/soc/sdw_utils/soc_sdw_utils.c
index ff003e7df90d..31f400c55405 100644
--- a/sound/soc/sdw_utils/soc_sdw_utils.c
+++ b/sound/soc/sdw_utils/soc_sdw_utils.c
@@ -1379,29 +1379,14 @@ static int is_sdca_endpoint_present(struct device *dev,
const struct snd_soc_acpi_adr_device *adr_dev = &adr_link->adr_d[adr_index];
const struct snd_soc_acpi_endpoint *adr_end;
const struct asoc_sdw_dai_info *dai_info;
- struct snd_soc_dai_link_component *dlc;
- struct snd_soc_dai *codec_dai;
struct sdw_slave *slave;
struct device *sdw_dev;
const char *sdw_codec_name;
int ret, i;
- dlc = kzalloc(sizeof(*dlc), GFP_KERNEL);
- if (!dlc)
- return -ENOMEM;
-
adr_end = &adr_dev->endpoints[end_index];
dai_info = &codec_info->dais[adr_end->num];
- dlc->dai_name = dai_info->dai_name;
- codec_dai = snd_soc_find_dai_with_mutex(dlc);
- if (!codec_dai) {
- dev_warn(dev, "codec dai %s not registered yet\n", dlc->dai_name);
- kfree(dlc);
- return -EPROBE_DEFER;
- }
- kfree(dlc);
-
sdw_codec_name = _asoc_sdw_get_codec_name(dev, adr_link, adr_index);
if (!sdw_codec_name)
return -ENOMEM;
--
2.43.0
More information about the kernel-team
mailing list