From: "Péter Ujfalusi" <peter.ujfalusi@ti.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org, patches@opensource.wolfsonmicro.com,
Liam Girdwood <lrg@ti.com>
Subject: Re: [PATCH] ASoC: Suppress early calls to snd_soc_dapm_sync()
Date: Fri, 07 Oct 2011 17:18:19 +0300 [thread overview]
Message-ID: <1381533.VkWoivMzrE@barack> (raw)
In-Reply-To: <1317994442-21459-1-git-send-email-broonie@opensource.wolfsonmicro.com>
On Friday 07 October 2011 14:34:02 Mark Brown wrote:
> Ensure we only have one sync during the initial startup of the card by
> making snd_soc_dapm_sync() a noop on non-instantiated cards. This avoids
> any bounces due to things like jacks reporting their initial state on
> partially initialised cards. The callers that don't also get called at
> runtime should just be removed.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
> sound/soc/soc-core.c | 1 +
> sound/soc/soc-dapm.c | 7 +++++++
> 2 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 2a25076..b65e3d4 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1498,6 +1498,7 @@ static void snd_soc_instantiate_card(struct
> snd_soc_card *card) #endif
>
> card->instantiated = 1;
> + snd_soc_dapm_sync(&card->dapm);
Without prior snd_soc_dapm_new_widgets() call we just moved the kernel crash
here.
> mutex_unlock(&card->mutex);
> return;
>
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index 8711aab..e49c56d 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -1845,6 +1845,13 @@ static int snd_soc_dapm_set_pin(struct
> snd_soc_dapm_context *dapm, */
> int snd_soc_dapm_sync(struct snd_soc_dapm_context *dapm)
> {
> + /*
> + * Suppress early reports (eg, jacks syncing their state) to avoid
> + * silly DAPM runs during card startup.
> + */
> + if (!dapm->card || !dapm->card->instantiated)
> + return 0;
> +
> return dapm_power_widgets(dapm, SND_SOC_DAPM_STREAM_NOP);
> }
> EXPORT_SYMBOL_GPL(snd_soc_dapm_sync);
--
Péter
next prev parent reply other threads:[~2011-10-07 14:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-07 13:34 [PATCH] ASoC: Suppress early calls to snd_soc_dapm_sync() Mark Brown
2011-10-07 14:18 ` Péter Ujfalusi [this message]
2011-10-07 14:33 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1381533.VkWoivMzrE@barack \
--to=peter.ujfalusi@ti.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=lrg@ti.com \
--cc=patches@opensource.wolfsonmicro.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.