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
next prev parent 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.