On Thu, Nov 22, 2018 at 05:56:43PM +0000, Guillaume Tucker wrote:
FYI I've run a semi-automatic bisection for the kernelci.org boot test failures listed in the report below. It seems the breaking commit is the same as discussed on this thread:
https://lore.kernel.org/patchwork/patch/1015523/
The bisection was run between next-20181122 and the merge base on mainline master on QEMU arm64, it found this commit:
commit c57eff9503a5a9731d762b0e584ebd34fdc052fb Author: Yangtao Li tiny.windzz@gmail.com Date: Wed Nov 21 09:12:04 2018 -0500
soc/tegra: refactor soc_is_tegra()
of_find_node_by_path() acquires a reference to the node returned by it and that reference needs to be dropped by its caller.soc_is_tegra() doesn't do that, so fix it.Call of_machine_is_compatible() to refactor soc_is_tegra() whcih automatically manages the reference count. Signed-off-by: Yangtao Li tiny.windzz@gmail.com Acked-by: Jon Hunter jonathanh@nvidia.com Signed-off-by: Thierry Reding treding@nvidia.com
diff --git a/drivers/soc/tegra/common.c b/drivers/soc/tegra/common.c index cd8f41351add..8a538b968fe9 100644 --- a/drivers/soc/tegra/common.c +++ b/drivers/soc/tegra/common.c @@ -22,11 +22,14 @@ static const struct of_device_id tegra_machine_match[] = { bool soc_is_tegra(void) {
struct device_node *root;
const struct of_device_id *match = tegra_machine_match;
root = of_find_node_by_path("/");
if (!root)
return false;
while (match->compatible) {
if (of_machine_is_compatible(match->compatible))
return true;
return of_match_node(tegra_machine_match, root) != NULL;
match++;
}
return false;
}
Hope this helps!
Guillaume
Thanks for reporting. Arnd and other had already reported this earlier and a fix for it should make it into tomorrow's linux-next.
Thierry