[alsa-devel] [RFC 2.6.38] ASoC: Fix bias power down of non-DAPM codec

Jarkko Nikula jhnikula at gmail.com
Fri Dec 10 17:23:41 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>
RFC since does this look a valid fix and how to deal with 2.6.37? I think
patching the .37 first will result in bisect build errors in mainline when
later merging upcoming .38 changes. Would it be better to patch .37 after
it's released?
 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 9af2d8a..b521a13 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -981,6 +981,9 @@ static int dapm_power_widgets(struct snd_soc_dapm_context *dapm, int event)
 			sys_power = 1;
+			sys_power = !!dapm->codec->active;
+			break;
 			sys_power = 0;

More information about the Alsa-devel mailing list