diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2021-03-22 11:48:40 +0900 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2021-03-25 13:58:53 +0000 |
commit | 4a50724eb0ba96b849f4a0c8da28b2b796859f9e (patch) | |
tree | 42c1f570ac59af15e2413ec61203b82f71a7e5b3 | |
parent | 4da40cb9955c63c3aca02be267faea4abbd2c649 (diff) | |
download | linux-4a50724eb0ba96b849f4a0c8da28b2b796859f9e.tar.gz linux-4a50724eb0ba96b849f4a0c8da28b2b796859f9e.tar.bz2 linux-4a50724eb0ba96b849f4a0c8da28b2b796859f9e.zip |
ASoC: soc.h: fixup return timing for snd_soc_fixup_dai_links_platform_name()
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>
-rw-r--r-- | include/sound/soc.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/sound/soc.h b/include/sound/soc.h index e4161071f300..200815ca4112 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h @@ -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; } |