diff options
| -rw-r--r-- | sound/soc/soc-dapm.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index bd16010441cc..4375c9f2b791 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c | |||
| @@ -679,13 +679,14 @@ static int dapm_new_mux(struct snd_soc_dapm_widget *w) | |||
| 679 | return -EINVAL; | 679 | return -EINVAL; |
| 680 | } | 680 | } |
| 681 | 681 | ||
| 682 | path = list_first_entry(&w->sources, struct snd_soc_dapm_path, | 682 | if (list_empty(&w->sources)) { |
| 683 | list_sink); | ||
| 684 | if (!path) { | ||
| 685 | dev_err(dapm->dev, "ASoC: mux %s has no paths\n", w->name); | 683 | dev_err(dapm->dev, "ASoC: mux %s has no paths\n", w->name); |
| 686 | return -EINVAL; | 684 | return -EINVAL; |
| 687 | } | 685 | } |
| 688 | 686 | ||
| 687 | path = list_first_entry(&w->sources, struct snd_soc_dapm_path, | ||
| 688 | list_sink); | ||
| 689 | |||
| 689 | ret = dapm_create_or_share_mixmux_kcontrol(w, 0, path); | 690 | ret = dapm_create_or_share_mixmux_kcontrol(w, 0, path); |
| 690 | if (ret < 0) | 691 | if (ret < 0) |
| 691 | return ret; | 692 | return ret; |
