ASoC: Ensure DAPM widgets are set up before we sync jacks
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 6 Oct 2011 12:30:55 +0000 (13:30 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 6 Oct 2011 15:18:39 +0000 (16:18 +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 fa31d9c2abd8fe29c615f24f64b68f33bb33004f..52db96636290372b40ddffaf15f6888bdbcc67b1 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.