mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Mark Brown <broonie@kernel.org>
Cc: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	tomeu.vizoso@collabora.com, guillaume.tucker@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: Thu, 30 May 2019 17:53:04 +0200	[thread overview]
Message-ID: <s5hr28gszvj.wl-tiwai@suse.de> (raw)
In-Reply-To: <5cef9f66.1c69fb81.39f30.21e8@mx.google.com>

On Thu, 30 May 2019 11:16:22 +0200,
kernelci.org bot wrote:
> 
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> * This automated bisection report was sent to you on the basis  *
> * that you may be involved with the breaking commit it has      *
> * found.  No manual investigation has been done to verify it,   *
> * and the root cause of the problem may be somewhere else.      *
> * Hope this helps!                                              *
> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> 
> next/master boot bisection: next-20190528 on sun8i-h3-libretech-all-h3-cc
> 
> Summary:
>   Start:      531b0a360899 Add linux-next specific files for 20190528
>   Details:    https://kernelci.org/boot/id/5cece0fd59b5144bc47a362b
>   Plain log:  https://storage.kernelci.org//next/master/next-20190528/arm/sunxi_defconfig/gcc-8/lab-baylibre/boot-sun8i-h3-libretech-all-h3-cc.txt
>   HTML log:   https://storage.kernelci.org//next/master/next-20190528/arm/sunxi_defconfig/gcc-8/lab-baylibre/boot-sun8i-h3-libretech-all-h3-cc.html
>   Result:     34ac3c3eb8f0 ASoC: core: lock client_mutex while removing link components
> 
> Checks:
>   revert:     PASS
>   verify:     PASS
> 
> Parameters:
>   Tree:       next
>   URL:        git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>   Branch:     master
>   Target:     sun8i-h3-libretech-all-h3-cc
>   CPU arch:   arm
>   Lab:        lab-baylibre
>   Compiler:   gcc-8
>   Config:     sunxi_defconfig
>   Test suite: boot
> 
> Breaking commit found:
> 
> -------------------------------------------------------------------------------
> commit 34ac3c3eb8f0c07252ceddf0a22dd240e5c91ccb
> Author: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
> Date:   Thu May 23 10:12:01 2019 -0700
> 
>     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
>     soc_remove_link_components. This will prevent the lockdep warning
>     seen when dai links are removed during topology removal.
>     
>     Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
>     Signed-off-by: Mark Brown <broonie@kernel.org>
> 
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 2403bec2fccf..7c9415987ac7 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1005,12 +1005,14 @@ static void soc_remove_link_components(struct snd_soc_card *card,
>  	struct snd_soc_component *component;
>  	struct snd_soc_rtdcom_list *rtdcom;
>  
> +	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);
>  }

Indeed this dead-locks in the error path of
snd_soc_instantiate_card():

snd_soc_instantiate_card() ->
  mutex_lock(&client_mutex);
  ....
  -> soc_cleanup_card_resources();
    -> soc_remove_dai_links();
      -> soc_remove_link_components();
         mutex_lock(&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()?


thanks,

Takashi

>  
>  static void soc_remove_dai_links(struct snd_soc_card *card)
> -------------------------------------------------------------------------------
> 
> 
> Git bisection log:
> 
> -------------------------------------------------------------------------------
> git bisect start
> # good: [cd6c84d8f0cdc911df435bb075ba22ce3c605b07] Linux 5.2-rc2
> git bisect good cd6c84d8f0cdc911df435bb075ba22ce3c605b07
> # bad: [531b0a360899269bd99a38ba9852a8ba46852bcd] Add linux-next specific files for 20190528
> git bisect bad 531b0a360899269bd99a38ba9852a8ba46852bcd
> # bad: [0b61d4c3b7d7938ef0014778c328e3f65c0d6d57] Merge remote-tracking branch 'crypto/master'
> git bisect bad 0b61d4c3b7d7938ef0014778c328e3f65c0d6d57
> # bad: [6179e21b065dc0f592cd3d9d3676bd64d4278025] Merge remote-tracking branch 'xtensa/xtensa-for-next'
> git bisect bad 6179e21b065dc0f592cd3d9d3676bd64d4278025
> # bad: [3e085f66fe7e93575f2a583a3d434415cef2d860] Merge remote-tracking branch 'amlogic/for-next'
> git bisect bad 3e085f66fe7e93575f2a583a3d434415cef2d860
> # bad: [b9afa223a3420432bc483d2b43429c88c6a5d0e0] Merge remote-tracking branch 'staging.current/staging-linus'
> git bisect bad b9afa223a3420432bc483d2b43429c88c6a5d0e0
> # good: [fc6557648e19dbd207dc815c6e09fc6452f01e63] Merge remote-tracking branch 'bpf/master'
> git bisect good fc6557648e19dbd207dc815c6e09fc6452f01e63
> # bad: [6c3f2a0e0f236f31b47d63ab7d3f4ec889821d0d] Merge remote-tracking branch 'spi-fixes/for-linus'
> git bisect bad 6c3f2a0e0f236f31b47d63ab7d3f4ec889821d0d
> # bad: [20a5f9c8649d74407aa657ce5b76cf8b0bbb17e3] Merge branch 'asoc-5.2' into asoc-linus
> git bisect bad 20a5f9c8649d74407aa657ce5b76cf8b0bbb17e3
> # good: [ad6eecbfc01c987e0253371f274c3872042e4350] ASoC: cs42xx8: Add regcache mask dirty
> git bisect good ad6eecbfc01c987e0253371f274c3872042e4350
> # good: [069d037aea98ffa64c26d4b1dc958fb8f39f5c2b] ASoC: simple-card: Fix configuration of DAI format
> git bisect good 069d037aea98ffa64c26d4b1dc958fb8f39f5c2b
> # good: [df9366131a452296d040a7a496d93108f1fc240c] ASoC: Intel: sof-rt5682: fix AMP quirk support
> git bisect good df9366131a452296d040a7a496d93108f1fc240c
> # bad: [34ac3c3eb8f0c07252ceddf0a22dd240e5c91ccb] ASoC: core: lock client_mutex while removing link components
> git bisect bad 34ac3c3eb8f0c07252ceddf0a22dd240e5c91ccb
> # good: [4819d06292c9b57eabdd6d1603e49a27baf183be] ASoC: simple-card: Restore original configuration of DAI format
> git bisect good 4819d06292c9b57eabdd6d1603e49a27baf183be
> # first bad commit: [34ac3c3eb8f0c07252ceddf0a22dd240e5c91ccb] ASoC: core: lock client_mutex while removing link components
> -------------------------------------------------------------------------------
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 

  reply	other threads:[~2019-05-30 15:53 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 ` Takashi Iwai [this message]
2019-06-07 16:31   ` [alsa-devel] " Guillaume Tucker
2019-06-07 19:00     ` Mark Brown
2019-06-07 20:08       ` Pierre-Louis Bossart

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=s5hr28gszvj.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --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=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

all inboxes | Powered by JetHome®