提交 eaeae5d9 编写于 作者: P Peter Ujfalusi 提交者: Mark Brown

ASoC: Fix SND_SOC_DAPM_LINE handling

Since the SND_SOC_DAPM_LINE can be input or output, additional check is
needed in order to determine if the widget is connected as input or
output.
When checking for connected outputs, if the widget is line, than check
if the sources list is not empty (line is connected as output)
For input endpoint check, when the widget is line, also check if the
sinks list is not empty (line is connected as input).
Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
上级 834eb6c5
...@@ -524,7 +524,7 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget) ...@@ -524,7 +524,7 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget)
/* connected jack or spk ? */ /* connected jack or spk ? */
if (widget->id == snd_soc_dapm_hp || widget->id == snd_soc_dapm_spk || if (widget->id == snd_soc_dapm_hp || widget->id == snd_soc_dapm_spk ||
widget->id == snd_soc_dapm_line) (widget->id == snd_soc_dapm_line && !list_empty(&widget->sources)))
return 1; return 1;
} }
...@@ -573,7 +573,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget) ...@@ -573,7 +573,8 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget)
return 1; return 1;
/* connected jack ? */ /* connected jack ? */
if (widget->id == snd_soc_dapm_mic || widget->id == snd_soc_dapm_line) if (widget->id == snd_soc_dapm_mic ||
(widget->id == snd_soc_dapm_line && !list_empty(&widget->sinks)))
return 1; return 1;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册