broonie-sound/for-next boot bisection: v5.4-rc6-292-gc1efaea10be0 on sun8i-h3-libretech-all-h3-cc

From: kernelci.org bot
Date: Wed Nov 06 2019 - 01:27:57 EST


* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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. *
* *
* If you do send a fix, please include this trailer: *
* Reported-by: "kernelci.org bot" <bot@xxxxxxxxxxxx> *
* *
* Hope this helps! *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

broonie-sound/for-next boot bisection: v5.4-rc6-292-gc1efaea10be0 on sun8i-h3-libretech-all-h3-cc

Summary:
Start: c1efaea10be0 Merge branch 'asoc-5.5' into asoc-next
Details: https://kernelci.org/boot/id/5dc218e159b5142346138dff
Plain log: https://storage.kernelci.org//broonie-sound/for-next/v5.4-rc6-292-gc1efaea10be0/arm/sunxi_defconfig/gcc-8/lab-baylibre/boot-sun8i-h3-libretech-all-h3-cc.txt
HTML log: https://storage.kernelci.org//broonie-sound/for-next/v5.4-rc6-292-gc1efaea10be0/arm/sunxi_defconfig/gcc-8/lab-baylibre/boot-sun8i-h3-libretech-all-h3-cc.html
Result: ac6a4dd3e9f0 ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component()

Checks:
revert: PASS
verify: PASS

Parameters:
Tree: broonie-sound
URL: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
Branch: for-next
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 ac6a4dd3e9f09697ab6a1774d7ab6a34e7ab36fa
Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Date: Tue Nov 5 15:46:51 2019 +0900

ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component()

snd_soc_unregister_component() is now finding component manually,
but we already have snd_soc_lookup_component() to find component;
Let's use existing function.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/87zhha252c.wl-kuninori.morimoto.gx@xxxxxxxxxxx
Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>

diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index bb0592159414..0ce333669138 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2876,29 +2876,19 @@ EXPORT_SYMBOL_GPL(snd_soc_register_component);
*
* @dev: The device to unregister
*/
-static int __snd_soc_unregister_component(struct device *dev)
+void snd_soc_unregister_component(struct device *dev)
{
struct snd_soc_component *component;
- int found = 0;

mutex_lock(&client_mutex);
- for_each_component(component) {
- if (dev != component->dev)
- continue;
+ while (1) {
+ component = snd_soc_lookup_component(dev, NULL);
+ if (!component)
+ break;

snd_soc_del_component_unlocked(component);
- found = 1;
- break;
}
mutex_unlock(&client_mutex);
-
- return found;
-}
-
-void snd_soc_unregister_component(struct device *dev)
-{
- while (__snd_soc_unregister_component(dev))
- ;
}
EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
-------------------------------------------------------------------------------


Git bisection log:

-------------------------------------------------------------------------------
git bisect start
# good: [a99d8080aaf358d5d23581244e5da23b35e340b9] Linux 5.4-rc6
git bisect good a99d8080aaf358d5d23581244e5da23b35e340b9
# bad: [c1efaea10be0d91b6986af5c14cd3482ab160981] Merge branch 'asoc-5.5' into asoc-next
git bisect bad c1efaea10be0d91b6986af5c14cd3482ab160981
# good: [1092b09708882e3c216f0b9c02e606b3c0942c5b] ASoC: tlv320aic32x4: add a check for devm_clk_get
git bisect good 1092b09708882e3c216f0b9c02e606b3c0942c5b
# good: [f03412b78a947857bbd20899e1423482fba55761] ASoC: rockchip-max98090: Support usage with and without HDMI
git bisect good f03412b78a947857bbd20899e1423482fba55761
# good: [acbf27746ecfa96b290b54cc7f05273482ea128a] ASoC: pcm: update FE/BE trigger order based on the command
git bisect good acbf27746ecfa96b290b54cc7f05273482ea128a
# bad: [e443c20593de9f8efd9b2935ed40eb0bbacce30b] ASoC: soc-core: don't call snd_soc_dapm_new_dai_widgets() at snd_soc_register_dai()
git bisect bad e443c20593de9f8efd9b2935ed40eb0bbacce30b
# good: [b8132657990b5a09ad8e1c9e2c8efc20b5f9372a] ASoC: soc-core: move snd_soc_lookup_component()
git bisect good b8132657990b5a09ad8e1c9e2c8efc20b5f9372a
# bad: [ac6a4dd3e9f09697ab6a1774d7ab6a34e7ab36fa] ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component()
git bisect bad ac6a4dd3e9f09697ab6a1774d7ab6a34e7ab36fa
# good: [486c7978ff665eb763f70cc9477e0de6326e1c41] ASoC: soc-core: add snd_soc_del_component_unlocked()
git bisect good 486c7978ff665eb763f70cc9477e0de6326e1c41
# good: [b18768f56162964f70bbb9119dba59a947d7d577] ASoC: soc-core: remove snd_soc_component_add/del()
git bisect good b18768f56162964f70bbb9119dba59a947d7d577
# first bad commit: [ac6a4dd3e9f09697ab6a1774d7ab6a34e7ab36fa] ASoC: soc-core: use snd_soc_lookup_component() at snd_soc_unregister_component()
-------------------------------------------------------------------------------