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>
			
			
This commit is contained in:
		
							parent
							
								
									4da40cb995
								
							
						
					
					
						commit
						4a50724eb0
					
				| @ -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; | ||||
| 	} | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user