Patch "ASoC: soc-core: skip zero num_dai component in searching dai name" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    ASoC: soc-core: skip zero num_dai component in searching dai name

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     asoc-soc-core-skip-zero-num_dai-component-in-searchi.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 925e75dd53de7334e265a2104e04f83dcb3561b6
Author: Shengjiu Wang <shengjiu.wang@xxxxxxx>
Date:   Thu Feb 10 19:19:12 2022 +0800

    ASoC: soc-core: skip zero num_dai component in searching dai name
    
    [ Upstream commit f7d344a2bd5ec81fbd1ce76928fd059e57ec9bea ]
    
    In the case like dmaengine which's not a dai but as a component, the
    num_dai is zero, dmaengine component has the same component_of_node
    as cpu dai, when cpu dai component is not ready, but dmaengine component
    is ready, try to get cpu dai name, the snd_soc_get_dai_name() return
    -EINVAL, not -EPROBE_DEFER, that cause below error:
    
    asoc-simple-card <card name>: parse error -22
    asoc-simple-card: probe of <card name> failed with error -22
    
    The sound card failed to probe.
    
    So this patch fixes the issue above by skipping the zero num_dai
    component in searching dai name.
    
    Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxx>
    Link: https://lore.kernel.org/r/1644491952-7457-1-git-send-email-shengjiu.wang@xxxxxxx
    Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 80ca260595fd..5da762807824 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -3208,7 +3208,7 @@ int snd_soc_get_dai_name(const struct of_phandle_args *args,
 	for_each_component(pos) {
 		struct device_node *component_of_node = soc_component_to_node(pos);
 
-		if (component_of_node != args->np)
+		if (component_of_node != args->np || !pos->num_dai)
 			continue;
 
 		ret = snd_soc_component_of_xlate_dai_name(pos, args, dai_name);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux