From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Mark Brown <broonie@kernel.org>,
Guillaume Tucker <guillaume.tucker@collabora.com>
Cc: Takashi Iwai <tiwai@suse.de>,
Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
tomeu.vizoso@collabora.com, mgalka@collabora.com,
matthew.hart@linaro.org, khilman@baylibre.com,
enric.balletbo@collabora.com, Liam Girdwood <lgirdwood@gmail.com>,
alsa-devel@alsa-project.org,
"kernelci.org bot" <bot@kernelci.org>,
linux-kernel@vger.kernel.org
Subject: Re: [alsa-devel] next/master boot bisection: next-20190528 on sun8i-h3-libretech-all-h3-cc
Date: Fri, 7 Jun 2019 15:08:45 -0500 [thread overview]
Message-ID: <6959db6d-1ab4-8f94-7e58-57606b8b42f6@linux.intel.com> (raw)
In-Reply-To: <20190607190021.GK2456@sirena.org.uk>
[-- Attachment #1: Type: text/plain, Size: 1575 bytes --]
On 6/7/19 2:00 PM, Mark Brown wrote:
> On Fri, Jun 07, 2019 at 05:31:12PM +0100, Guillaume Tucker wrote:
>> On 30/05/2019 16:53, Takashi Iwai wrote:
>
>>>> + mutex_lock(&client_mutex);
>>>> for_each_rtdcom(rtd, rtdcom) {
>>>> component = rtdcom->component;
>>>>
>>>> if (component->driver->remove_order == order)
>>>> soc_remove_component(component);
>>>> }
>>>> + mutex_unlock(&client_mutex);
>
>>> Ranjani, which code path your patch tries to address? Maybe better to
>>> wrap client_mutex() in the caller side like snd_soc_unbind_card()?
>
>> Is anyone looking into this issue?
>
>> It is still occurring in next-20190606, there was a bisection
>> today which landed on the same commit. There just hasn't been
>> any new bisection reports because they have been temporarily
>> disabled while we fix some issues on kernelci.org.
>
> I was expecting that Ranjani or one of the other Intel people was
> looking into it...
Ack. We've all been underwater this week and this wasn't addressed,
sorry about the delay. It's probably wise to revert this commit at this
point while we look for an alternate solution?
There was an initial proposal submitted on GitHub [1] (patch attached)
which implemented what Takashi suggested in his comments. This proposal
was later optimized further, it could be that the optimization was one
bridge too far.
Could you let us know if this attached patch has any negative effects on
non-Intel platforms?
Thanks!
[1]
https://github.com/thesofproject/linux/commit/9fd09dd417bc8be7a4a8bdd1621558151f8d117b
[-- Attachment #2: 9fd09dd417bc8be7a4a8bdd1621558151f8d117b.patch --]
[-- Type: text/x-patch, Size: 1228 bytes --]
From 9fd09dd417bc8be7a4a8bdd1621558151f8d117b Mon Sep 17 00:00:00 2001
From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Date: Wed, 22 May 2019 10:52:40 -0700
Subject: [PATCH] ASoC: core: lock client_mutex while removing link components
Removing link components results in topology unloading. So,
acquire the client_mutex before removing components in
snd_soc_unbind_card(). This will prevent lockdep warning
when the dai link is removed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
---
sound/soc/soc-core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 2403bec2fccf3..5609398f05d80 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2839,12 +2839,14 @@ static void snd_soc_unbind_card(struct snd_soc_card *card, bool unregister)
snd_soc_dapm_shutdown(card);
snd_soc_flush_all_delayed_work(card);
+ mutex_lock(&client_mutex);
/* remove all components used by DAI links on this card */
for_each_comp_order(order) {
for_each_card_rtds(card, rtd) {
soc_remove_link_components(card, rtd, order);
}
}
+ mutex_unlock(&client_mutex);
soc_cleanup_card_resources(card);
if (!unregister)
prev parent reply other threads:[~2019-06-07 20:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-30 9:16 kernelci.org bot
2019-05-30 15:53 ` [alsa-devel] " Takashi Iwai
2019-06-07 16:31 ` Guillaume Tucker
2019-06-07 19:00 ` Mark Brown
2019-06-07 20:08 ` Pierre-Louis Bossart [this message]
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=6959db6d-1ab4-8f94-7e58-57606b8b42f6@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=bot@kernelci.org \
--cc=broonie@kernel.org \
--cc=enric.balletbo@collabora.com \
--cc=guillaume.tucker@collabora.com \
--cc=khilman@baylibre.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew.hart@linaro.org \
--cc=mgalka@collabora.com \
--cc=ranjani.sridharan@linux.intel.com \
--cc=tiwai@suse.de \
--cc=tomeu.vizoso@collabora.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
Powered by JetHome