[alsa-devel] [PATCH 2.6.37] ASoC: Fix bias power down of non-DAPM codec
Jarkko Nikula
jhnikula at gmail.com
Fri Dec 10 19:53:55 CET 2010
Currently bias of non-DAPM codec will be powered down (standby/off) whenever
there is a stream stop. This is wrong in simultaneous playback/capture since
the bias is put down immediately after stopping the first stream.
Fix this by using the codec->active count when figuring out the needed bias
level after stream stop.
Signed-off-by: Jarkko Nikula <jhnikula at gmail.com>
---
sound/soc/soc-dapm.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 75ed649..c721502 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -944,6 +944,9 @@ static int dapm_power_widgets(struct snd_soc_codec *codec, int event)
case SND_SOC_DAPM_STREAM_RESUME:
sys_power = 1;
break;
+ case SND_SOC_DAPM_STREAM_STOP:
+ sys_power = !!codec->active;
+ break;
case SND_SOC_DAPM_STREAM_SUSPEND:
sys_power = 0;
break;
--
1.7.2.3
More information about the Alsa-devel
mailing list