All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Péter Ujfalusi" <peter.ujfalusi@ti.com>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org,
	"Janusz Krzysztofik" <jkrzyszt@tis.icnet.pl>,
	"Gražvydas Ignotas" <notasas@gmail.com>,
	"Anuj Aggarwal" <anuj.aggarwal@ti.com>,
	"Misael Lopez Cruz" <misael.lopez@ti.com>,
	"Liam Girdwood" <lrg@ti.com>,
	"Jarkko Nikula" <jarkko.nikula@bitmer.com>
Subject: Re: [PATCH] ASoC: OMAP machines: Fix kernel crash due to changes in core
Date: Fri, 07 Oct 2011 14:12:43 +0300	[thread overview]
Message-ID: <1923772.Cd9hLQzlop@barack> (raw)
In-Reply-To: <20111007104800.GH19080@opensource.wolfsonmicro.com>

On Friday 07 October 2011 11:48:01 Mark Brown wrote:
> > This might be true for machines, which adds jack functionality. We are
> > now calling snd_soc_dapm_new_widgets before adding jack pins.
> > Also machines passing their DAPM widgets/routes via snd_soc_card are
> > safe from this issue.
> 
> No, it should never be needed by anything.

Could be, but day before yesterday the sdp4430 was fine.
I've pulled yesterday morning, and welcomed me with a kernel crash at boot 
time.
 
> > For machines, which does not add jacks the snd_soc_dapm_new_widgets will
> > be not called at all, which will eventually leads to a crash.
> > 
> > in soc-core.c: soc_post_component_init() the dai->init called, but
> > there's no additional snd_soc_dapm_new_widgets call to make sure that
> > the new widgets added by the machine driver are instantiated.
> 
> We could either go round every single machine driver in the kernel
> modifying them or we could make sure it's handled in the core - I know
> which of those seems better to me!

For sure fixing this in core is the best place.
Try to boot smartq_wm8987, s3c24xx_simtec_tlv320aic23, s3c24xx_simtec_hermes,
jive_wm8750, h1940_uda1380, etc.
Lots of the machine drivers are calling soc_dapm_sync after adding widgets.
They will crash.
If we want to fix this in core we need to remove the soc_dapm_sync from _init
calls, and add the snd_soc_dapm_new_widgets post dai_link->init call in
soc_post_component_init of soc-core.c.

Having the soc_dapm_sync without calling snd_soc_dapm_new_widgets after adding
new widgets will trigger this.

As I said: sdp4430 strated to crash yesterday morning - without any change in
the sdp4430 driver.

--
Péter

  reply	other threads:[~2011-10-07 11:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-07  7:06 [PATCH] ASoC: OMAP machines: Fix kernel crash due to changes in core Peter Ujfalusi
2011-10-07 10:17 ` Mark Brown
2011-10-07 10:40   ` Péter Ujfalusi
2011-10-07 10:48     ` Mark Brown
2011-10-07 11:12       ` Péter Ujfalusi [this message]
2011-10-07 11:46         ` Péter Ujfalusi
2011-10-07 11:47         ` Mark Brown
2011-10-07 13:14           ` Péter Ujfalusi
2011-10-07 13:46             ` Mark Brown
2011-10-07 14:21               ` Péter Ujfalusi

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=1923772.Cd9hLQzlop@barack \
    --to=peter.ujfalusi@ti.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=anuj.aggarwal@ti.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=jarkko.nikula@bitmer.com \
    --cc=jkrzyszt@tis.icnet.pl \
    --cc=lrg@ti.com \
    --cc=misael.lopez@ti.com \
    --cc=notasas@gmail.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.