Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753966AbaBTIjM (ORCPT ); Thu, 20 Feb 2014 03:39:12 -0500 Received: from mail-oa0-f51.google.com ([209.85.219.51]:50728 "EHLO mail-oa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753268AbaBTIjJ (ORCPT ); Thu, 20 Feb 2014 03:39:09 -0500 MIME-Version: 1.0 In-Reply-To: <1392819290-1044-1-git-send-email-grant.likely@linaro.org> References: <1392819290-1044-1-git-send-email-grant.likely@linaro.org> Date: Thu, 20 Feb 2014 14:09:08 +0530 Message-ID: Subject: Re: [PATCH v4 0/4] Bugfix for of_match_node ordering From: Sachin Kamat To: Grant Likely Cc: "devicetree@vger.kernel.org" , LKML , Kevin Hao , Rob Herring , Sebastian Hesselbarth , linux-samsung-soc Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Grant, I observe the following boot failure with today's (next-20140220) linux-next tree on Exynos based boards with the default exynos_defconfig. Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x900 [ 0.000000] Linux version 3.14.0-rc3-next-20140220 (sachin@linaro) (gcc version 4.8.2 20130805 (prerelease) (crosstool-NG linaro-1. 13.1-4.8-2013.08 - Linaro GCC 2013.08) ) #1132 SMP PREEMPT Thu Feb 20 13:49:27 IST 2014 [ 0.000000] CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine model: Insignal Origen evaluation board based on Exynos4210 [ 0.000000] bootconsole [earlycon0] enabled [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] CPU EXYNOS4210 (id 0x43210011) [ 0.000000] On node 0 totalpages: 258048 [ 0.000000] Normal zone: 1520 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 190464 pages, LIFO batch:31 [ 0.000000] HighMem zone: 528 pages used for memmap [ 0.000000] HighMem zone: 67584 pages, LIFO batch:15 [ 0.000000] BUG: spinlock recursion on CPU#0, swapper/0 [ 0.000000] lock: devtree_lock+0x0/0x10, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0 [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.0-rc3-next-20140220 #1132 [ 0.000000] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 0.000000] [] (show_stack) from [] (dump_stack+0x7c/0xbc) [ 0.000000] [] (dump_stack) from [] (do_raw_spin_lock+0x188/0x18c) [ 0.000000] [] (do_raw_spin_lock) from [] (_raw_spin_lock_irqsave+0x20/0x28) [ 0.000000] [] (_raw_spin_lock_irqsave) from [] (of_find_property+0x20/0x4c) [ 0.000000] [] (of_find_property) from [] (__of_device_is_compatible+0xb4/0x110) [ 0.000000] [] (__of_device_is_compatible) from [] (of_find_compatible_node+0x4c/0x7c) [ 0.000000] [] (of_find_compatible_node) from [] (exynos_firmware_init+0x18/0x7c) [ 0.000000] [] (exynos_firmware_init) from [] (setup_arch+0x860/0x898) [ 0.000000] [] (setup_arch) from [] (start_kernel+0x80/0x3dc) [ 0.000000] [] (start_kernel) from [<40008074>] (0x40008074) [ 0.000000] BUG: spinlock lockup suspected on CPU#0, swapper/0 [ 0.000000] lock: devtree_lock+0x0/0x10, .magic: dead4ead, .owner: swapper/0, .owner_cpu: 0 [ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.0-rc3-next-20140220 #1132 [ 0.000000] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) [ 0.000000] [] (show_stack) from [] (dump_stack+0x7c/0xbc) [ 0.000000] [] (dump_stack) from [] (do_raw_spin_lock+0x118/0x18c) [ 0.000000] [] (do_raw_spin_lock) from [] (_raw_spin_lock_irqsave+0x20/0x28) [ 0.000000] [] (_raw_spin_lock_irqsave) from [] (of_find_property+0x20/0x4c) [ 0.000000] [] (of_find_property) from [] (__of_device_is_compatible+0xb4/0x110) [ 0.000000] [] (__of_device_is_compatible) from [] (of_find_compatible_node+0x4c/0x7c) [ 0.000000] [] (of_find_compatible_node) from [] (exynos_firmware_init+0x18/0x7c) [ 0.000000] [] (exynos_firmware_init) from [] (setup_arch+0x860/0x898) [ 0.000000] [] (setup_arch) from [] (start_kernel+0x80/0x3dc) [ 0.000000] [] (start_kernel) from [<40008074>] (0x40008074) Regards, Sachin On 19 February 2014 19:44, Grant Likely wrote: > Hi all, > > I've taken Kevin's latest rework and done even more rework on it. :-) I > didn't quite like how it was looking so I rolled his scoring code > directly into __of_device_is_compatible() so that the function always > returns a score in a way that is still compatible with the existing > users (ie. non-zero == successful match). This eliminates the need for a > separate pscore argument and it also let me roll the type and name > checks into the same function. I'm a lot happier with it overall and it > makes for a slightly smaller number of lines of code changed. Please > take a look and give it a spin. This is basically a bug fix so I'll need > to push it out to Linus in the near future. > > Acks and Tested-bys would be particularly appreciated. > > Thanks, > g. > > Kevin Hao (2): > Revert "of: search the best compatible match first in __of_match_node()" > of: reimplement the matching method for __of_match_node() > > Grant Likely (2): > of: Move testcase FDT data into drivers/of > of: Add self test for of_match_node() > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/