ASoC: Ensure DAPM widgets are set up before we sync jacks
Mark Brown [Thu, 6 Oct 2011 12:30:55 +0000 (13:30 +0100)]
We synchronise jack state on startup - when we do that make sure that we
have set up all the DAPM widgets first in case we end up touching any of
the partially set up widgets when syncing the jack pins.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>

sound/soc/soc-jack.c

index fa31d9c..52db966 100644 (file)
@@ -188,6 +188,8 @@ int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count,
                list_add(&(pins[i].list), &jack->pins);
        }
 
+       snd_soc_dapm_new_widgets(&jack->codec->card->dapm);
+
        /* Update to reflect the last reported status; canned jack
         * implementations are likely to set their state before the
         * card has an opportunity to associate pins.