[alsa-devel] [PATCH] ASoC: Mark mixer and mux neighbours as dirty when changing them
Mark Brown
broonie at opensource.wolfsonmicro.com
Mon Oct 3 23:02:21 CEST 2011
Signed-off-by: Mark Brown <broonie at opensource.wolfsonmicro.com>
---
sound/soc/soc-dapm.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 50517d8..06d8cfa 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1608,10 +1608,14 @@ static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget,
found = 1;
/* we now need to match the string in the enum to the path */
- if (!(strcmp(path->name, e->texts[mux])))
+ if (!(strcmp(path->name, e->texts[mux]))) {
path->connect = 1; /* new connection */
- else
+ dapm_mark_dirty(path->source);
+ } else {
+ if (path->connect)
+ dapm_mark_dirty(path->source);
path->connect = 0; /* old connection must be powered down */
+ }
}
if (found) {
@@ -1642,6 +1646,7 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget,
/* found, now check type */
found = 1;
path->connect = connect;
+ dapm_mark_dirty(path->source);
}
if (found) {
--
1.7.6.3
More information about the Alsa-devel
mailing list