ASOC bug? maybe no need to set bias_level to PREPARE.
From: Zhang, Ning A
Date: Thu May 09 2013 - 21:55:53 EST
Hi, Girdwood
When I try to fix wm1811 standby issue for our customer, I find a strange behavior in ASOC core.
here is my test code:
snd_soc_dapm_disable_pin(&dapm,"MICBIAS2");
snd_soc_dapm_disable_pin(&dapm,"CLK_SYS");
snd_soc_dapm_sync(&dapm);
and add debug info in dapm_pre_sequence_async()
and we will find these debug info printed:
d->bias_level = 1
d->target_bias_level = 0
in snd_soc_dapm_set_bias_level
from the debug log, when STANDBY -> OFF transition, it set bias_level to PREPARE.
that's wrong logic.
And more there is comment in source code:
/* Prepare for a STADDBY->ON or ON->STANDBY transition */
But, the code isn't the same as the comment.
----