[alsa-devel] [PATCH] ASoC: dapm: don't skip evaluate the power of widget with force set

Xiang Xiao xiaoxiang at xiaomi.com
Sun Apr 13 10:37:20 CEST 2014


Signed-off-by: Xiang Xiao <xiaoxiang at xiaomi.com>
---
 sound/soc/soc-dapm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index c8a780d..14af77e 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1673,7 +1673,7 @@ static void dapm_widget_set_peer_power(struct snd_soc_dapm_widget *peer,
 
 	/* If the peer is already in the state we're moving to then we
 	 * won't have an impact on it. */
-	if (power != peer->power)
+	if (peer->force || power != peer->power)
 		dapm_mark_dirty(peer, "peer state change");
 }
 
@@ -1683,7 +1683,7 @@ static void dapm_widget_set_power(struct snd_soc_dapm_widget *w, bool power,
 {
 	struct snd_soc_dapm_path *path;
 
-	if (w->power == power)
+	if (!w->force && w->power == power)
 		return;
 
 	trace_snd_soc_dapm_widget_power(w, power);
-- 
1.8.1.2



More information about the Alsa-devel mailing list