ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 22 Mar 2021 02:48:40 +0000 (11:48 +0900)
committerMark Brown <broonie@kernel.org>
Thu, 25 Mar 2021 13:58:53 +0000 (13:58 +0000)
Current snd_soc_fixup_dai_links_platform_name() creates name first (A),
and checks setup target pointer (B), and set it (C).
We should check target pointer first IMO.
This patch exchange the order to (B) -> (A) -> (C).

int snd_soc_fixup_dai_links_platform_name(...)
{
...
/* set platform name for each dailink */
for_each_card_prelinks(card, i, dai_link) {
(A) name = devm_kstrdup(...);
if (!name)
return -ENOMEM;

(B) if (!dai_link->platforms)
return -EINVAL;

/* only single platform is supported for now */
(C) dai_link->platforms->name = name;
}

return 0;
}

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/8735wnaoon.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc.h

index e416107..200815c 100644 (file)
@@ -1280,13 +1280,13 @@ int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
 
        /* set platform name for each dailink */
        for_each_card_prelinks(card, i, dai_link) {
+               if (!dai_link->platforms)
+                       return -EINVAL;
+
                name = devm_kstrdup(card->dev, platform_name, GFP_KERNEL);
                if (!name)
                        return -ENOMEM;
 
-               if (!dai_link->platforms)
-                       return -EINVAL;
-
                /* only single platform is supported for now */
                dai_link->platforms->name = name;
        }