Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus
[firefly-linux-kernel-4.4.55.git] / sound / soc / soc-core.c
index 9d95ef531308ed003a41ec2a1a7da770d6ef2e56..4489c5b7b53a381f701600dc0c39414a988fe0a7 100644 (file)
@@ -2237,7 +2237,6 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,
        struct snd_kcontrol_new template;
        struct snd_kcontrol *kcontrol;
        char *name = NULL;
-       int name_len;
 
        memcpy(&template, _template, sizeof(template));
        template.index = 0;
@@ -2246,13 +2245,10 @@ struct snd_kcontrol *snd_soc_cnew(const struct snd_kcontrol_new *_template,
                long_name = template.name;
 
        if (prefix) {
-               name_len = strlen(long_name) + strlen(prefix) + 2;
-               name = kmalloc(name_len, GFP_KERNEL);
+               name = kasprintf(GFP_KERNEL, "%s %s", prefix, long_name);
                if (!name)
                        return NULL;
 
-               snprintf(name, name_len, "%s %s", prefix, long_name);
-
                template.name = name;
        } else {
                template.name = long_name;