diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 6828b4ed5447..e5ec9d7133ae 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -3356,7 +3356,6 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card, { struct snd_soc_dapm_widget template; struct snd_soc_dapm_widget *w; - size_t len; char *link_name; int ret, count; unsigned long private_value; @@ -3376,28 +3375,26 @@ int snd_soc_dapm_new_pcm(struct snd_soc_card *card, if (!w_param_text) return -ENOMEM; - len = strlen(source->name) + strlen(sink->name) + 2; - link_name = devm_kzalloc(card->dev, len, GFP_KERNEL); + link_name = devm_kasprintf(card->dev, GFP_KERNEL, "%s-%s", + source->name, sink->name); if (!link_name) { ret = -ENOMEM; goto outfree_w_param; } - snprintf(link_name, len, "%s-%s", source->name, sink->name); for (count = 0 ; count < num_params; count++) { if (!config->stream_name) { dev_warn(card->dapm.dev, "ASoC: anonymous config %d for dai link %s\n", count, link_name); - len = strlen("Anonymous Configuration ") + 3; w_param_text[count] = - devm_kzalloc(card->dev, len, GFP_KERNEL); + devm_kasprintf(card->dev, GFP_KERNEL, + "Anonymous Configuration %d", + count); if (!w_param_text[count]) { ret = -ENOMEM; goto outfree_link_name; } - snprintf(w_param_text[count], len, - "Anonymous Configuration %d", count); } else { w_param_text[count] = devm_kmemdup(card->dev, config->stream_name,