]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - sound/soc/soc-dapm.c
ASoC: SOF: core: fix undefined nocodec reference
[linux.git] / sound / soc / soc-dapm.c
index 1ec06ef6d161606922b1a3f8d16e2e685129db62..65ee0bb5dd0bd223ed1357f0afda80304f5dc75b 100644 (file)
@@ -3650,6 +3650,13 @@ snd_soc_dapm_new_control_unlocked(struct snd_soc_dapm_context *dapm,
        case snd_soc_dapm_dac:
        case snd_soc_dapm_aif_in:
        case snd_soc_dapm_pga:
+       case snd_soc_dapm_buffer:
+       case snd_soc_dapm_scheduler:
+       case snd_soc_dapm_effect:
+       case snd_soc_dapm_src:
+       case snd_soc_dapm_asrc:
+       case snd_soc_dapm_encoder:
+       case snd_soc_dapm_decoder:
        case snd_soc_dapm_out_drv:
        case snd_soc_dapm_micbias:
        case snd_soc_dapm_line:
@@ -3957,6 +3964,10 @@ snd_soc_dapm_free_kcontrol(struct snd_soc_card *card,
        int count;
 
        devm_kfree(card->dev, (void *)*private_value);
+
+       if (!w_param_text)
+               return;
+
        for (count = 0 ; count < num_params; count++)
                devm_kfree(card->dev, (void *)w_param_text[count]);
        devm_kfree(card->dev, w_param_text);
@@ -4038,7 +4049,7 @@ snd_soc_dapm_new_dai(struct snd_soc_card *card, struct snd_soc_pcm_runtime *rtd,
        struct snd_soc_dapm_widget template;
        struct snd_soc_dapm_widget *w;
        const char **w_param_text;
-       unsigned long private_value;
+       unsigned long private_value = 0;
        char *link_name;
        int ret;