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 16:14:36 +0300 [thread overview]
Message-ID: <4518982.z3cBzfSFpP@barack> (raw)
In-Reply-To: <20111007114749.GI19080@opensource.wolfsonmicro.com>
On Friday 07 October 2011 12:47:49 Mark Brown wrote:
> Removing the calls is a totally sensible thing to do, like I say they
> should at best be a waste of time. The problem with your patch was that
> weren't just removing them, you were replacing them with calls to
> new_widgets() which should be equally pointless. If we have to do that
> we're clearly failing at something.
I tend to agree with all of these.
I have done some bisecting, and this is my conclusion:
We have quite many machine drivers adding their DAPM widgets/routes in their
dai_link->init callback.
All of these machine driver added DAPM widgets stopped working with:
commit 0b07ab9244d34929b6e07d6a275137a229e9c839
ASoC: Instantiate DAPM widgets before we do the DAI link init
This patch moves the snd_soc_dapm_new_widgets() call pre dai_link->init.
Make sense for those machines which passing their DAPM widgets/routes via the
snd_soc_card struct.
Rest of the machines were ended up their DAPM widgets being not initialized -
ever.
They had the soc_dapm_sync call which is pointless thing to call anyway. These
machines started to crash with commit:
commit 35c64bcad5c8244d973efbf7e58f6e0e09635504
ASoC: Ensure all DAPM widgets have a power check callback
Since the check for w->power_check has been removed from dapm_power_one_widget
What we can do:
- Add back the snd_soc_dapm_new_widgets() call post dai_link->init in the
soc_post_component_init (while keeping the pre dai_link->init call to this).
- Convert all machine drivers which uses the dai_link->init call to just add
their DAPM widgets/routes to pass it via snd_soc_card struct.
- From the remaining drivers the soc_dapm_sync need to be removed. If they do
funky stuff with their widgets we might need to add snd_soc_dapm_new_widgets()
for their init call to be sure they are not crashing.
I have converted some of the OMAP machine drivers according to point 2 after
this patch. I only changed those which seamed obvious.
This patch was mostly a search'n'replace to make sure they are no longer
crashing.
--
Péter
next prev parent reply other threads:[~2011-10-07 13:14 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
2011-10-07 11:46 ` Péter Ujfalusi
2011-10-07 11:47 ` Mark Brown
2011-10-07 13:14 ` Péter Ujfalusi [this message]
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=4518982.z3cBzfSFpP@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.