diff options
author | Jarkko Nikula <jhnikula@gmail.com> | 2010-12-10 20:53:55 +0200 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-12-13 16:47:48 +0000 |
commit | 862af8adbe6b9ccb7c00c13717b1f92465f79aa2 (patch) | |
tree | f8a9077e5e14f0dbea156c0890c229821a2709e6 /sound/soc/soc-dapm.c | |
parent | a0968628097380be52db8b4664da98fc425546a5 (diff) |
ASoC: Fix bias power down of non-DAPM codec
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@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/soc-dapm.c')
-rw-r--r-- | 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 75ed6491222..c721502833b 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; |