Currently snd_soc_dapm_free_widget() is assuming input parameter is
non NULL. Thus, caller need to care about it.
This patch care it at snd_soc_dapm_free_widget().
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Link: https://lore.kernel.org/r/875yggtzsq.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
                        if (strcmp(dai->driver->name, pcm->name))
                                continue;
 
-                       if (dai->playback_widget)
-                               snd_soc_dapm_free_widget(dai->playback_widget);
-                       if (dai->capture_widget)
-                               snd_soc_dapm_free_widget(dai->capture_widget);
+                       snd_soc_dapm_free_widget(dai->playback_widget);
+                       snd_soc_dapm_free_widget(dai->capture_widget);
                        snd_soc_unregister_dai(dai);
                        break;
                }
 
                if (!strstr(dai->driver->name, name))
                        continue;
 
-               if (dai->playback_widget)
-                       snd_soc_dapm_free_widget(dai->playback_widget);
-               if (dai->capture_widget)
-                       snd_soc_dapm_free_widget(dai->capture_widget);
+               snd_soc_dapm_free_widget(dai->playback_widget);
+               snd_soc_dapm_free_widget(dai->capture_widget);
                snd_soc_unregister_dai(dai);
        }
 }
 
        struct snd_soc_dapm_path *p, *next_p;
        enum snd_soc_dapm_direction dir;
 
+       if (!w)
+               return;
+
        list_del(&w->list);
        list_del(&w->dirty);
        /*