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 13:40:21 +0300	[thread overview]
Message-ID: <3419773.iq8RNTCtj0@barack> (raw)
In-Reply-To: <20111007101711.GD19080@opensource.wolfsonmicro.com>

On Friday 07 October 2011 11:17:12 Mark Brown wrote:
> On Fri, Oct 07, 2011 at 10:06:46AM +0300, Peter Ujfalusi wrote:
> > Calling soc_dapm_sync() after adding DAPM widgets/routes
> > will lead to kernel crash caused by unitialized
> > widget->power_check callback (NULL pointer dereference).
> > 
> > Call snd_soc_dapm_new_widgets(dapm); instead of soc_dapm_sync
> > which will initialize the widgets, and will call the
> > dapm_power_widgets (soc_dapm_sync is a wrapper for
> > dapm_power_widgets).
> 
> No, there should be no need for either callback in individual drivers
> unless they're doing something very specialist.  This will have been the
> case for a while now.

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.

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.

--
Péter

  reply	other threads:[~2011-10-07 10:39 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 [this message]
2011-10-07 10:48     ` Mark Brown
2011-10-07 11:12       ` Péter Ujfalusi
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=3419773.iq8RNTCtj0@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.