Re: [PATCH v4 0/4] Bugfix for of_match_node ordering

From: Sachin Kamat
Date: Thu Feb 20 2014 - 05:27:22 EST


Hi Kevin,

On 20 February 2014 15:42, Kevin Hao <haokexin@xxxxxxxxx> wrote:
> On Thu, Feb 20, 2014 at 02:09:08PM +0530, Sachin Kamat wrote:
>> 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.
>
> Does this help?

The below patch works for me. Thanks for the fix.

>
> diff --git a/drivers/of/base.c b/drivers/of/base.c
> index 8a27fc907ab6..9cc893530b9a 100644
> --- a/drivers/of/base.c
> +++ b/drivers/of/base.c
> @@ -381,12 +381,16 @@ static int __of_device_is_compatible(const struct device_node *device,
>
> /* Compatible match has highest priority */
> if (compat && compat[0]) {
> - of_property_for_each_string(device, "compatible", prop, cp) {
> + prop = __of_find_property(device, "compatible", NULL);
> + if (!prop)
> + return 0;
> +
> + for (cp = of_prop_next_string(prop, NULL); cp;
> + cp = of_prop_next_string(prop, cp), index++) {
> if (of_compat_cmp(cp, compat, strlen(compat)) == 0) {
> score = INT_MAX/2 - (index << 2);
> break;
> }
> - index++;
> }
> if (!score)
> return 0;
>
>
> Thanks,
> Kevin



--
With warm regards,
Sachin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/