Current ASoC is using list_add() in order to add new list to
platform/codec/dai list.
But it breaks added list's order.
This patch use list_add_tail() instead of list_add() to solve this issue.

Signed-off-by: Kuninori Morimoto <[email protected]>
---
 sound/soc/soc-core.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 689eb04..63f2627 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -3738,7 +3738,7 @@ int snd_soc_register_dai(struct device *dev,
        if (!dai->codec)
                dai->dapm.idle_bias_off = 1;
 
-       list_add(&dai->list, &dai_list);
+       list_add_tail(&dai->list, &dai_list);
 
        mutex_unlock(&client_mutex);
 
@@ -3829,7 +3829,7 @@ int snd_soc_register_dais(struct device *dev,
                if (!dai->codec)
                        dai->dapm.idle_bias_off = 1;
 
-               list_add(&dai->list, &dai_list);
+               list_add_tail(&dai->list, &dai_list);
 
                mutex_unlock(&client_mutex);
 
@@ -3892,7 +3892,7 @@ int snd_soc_register_platform(struct device *dev,
        mutex_init(&platform->mutex);
 
        mutex_lock(&client_mutex);
-       list_add(&platform->list, &platform_list);
+       list_add_tail(&platform->list, &platform_list);
        mutex_unlock(&client_mutex);
 
        dev_dbg(dev, "ASoC: Registered platform '%s'\n", platform->name);
@@ -4043,7 +4043,7 @@ int snd_soc_register_codec(struct device *dev,
        }
 
        mutex_lock(&client_mutex);
-       list_add(&codec->list, &codec_list);
+       list_add_tail(&codec->list, &codec_list);
        mutex_unlock(&client_mutex);
 
        /* register any DAIs */
-- 
1.7.9.5

_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to