Alsa-Devel Archive on 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox