Re: [PATCH] ARM: EXYNOS: Avoid early use of of_machine_is_compatible()

From: Olof Johansson
Date: Tue Nov 27 2012 - 17:37:28 EST


On Tue, Nov 27, 2012 at 2:27 PM, Kukjin Kim <kgene.kim@xxxxxxxxxxx> wrote:
> On 11/28/12 07:11, Olof Johansson wrote:
>>
>> On Tue, Nov 27, 2012 at 11:53 AM, Doug Anderson<dianders@xxxxxxxxxxxx>
>> wrote:
>>>
>>> The recent commit "ARM: EXYNOS: add support for EXYNOS5440 SoC" broke
>>> support for exynos5250 because of_machine_is_compatible() was used too
>>> early in the boot process. It also probably meant that the exynos5440
>>> failed to use the proper iotable. Switch to use
>>> of_flat_dt_is_compatible() in both of these cases.
>>>
>>> The failure I was seeing in exynos5250 because of this was:
>>> Division by zero in kernel.
>>> [<80015ed4>] (unwind_backtrace+0x0/0xec) from [<8045c7a4>]
>>> (dump_stack+0x20/0x24)
>>> [<8045c7a4>] (dump_stack+0x20/0x24) from [<80012990>]
>>> (__div0+0x20/0x28)
>>> [<80012990>] (__div0+0x20/0x28) from [<8021ab04>] (Ldiv0_64+0x8/0x18)
>>> [<8021ab04>] (Ldiv0_64+0x8/0x18) from [<80068560>]
>>> (__clocksource_updatefreq_scale+0x54/0x134)
>>> [<80068560>] (__clocksource_updatefreq_scale+0x54/0x134) from
>>> [<8006865c>] (__clocksource_register_scale+0x1c/0x54)
>>> [<8006865c>] (__clocksource_register_scale+0x1c/0x54) from
>>> [<80612a18>] (exynos_timer_init+0x100/0x1e8)
>>> [<80612a18>] (exynos_timer_init+0x100/0x1e8) from [<8060d184>]
>>> (time_init+0x28/0x38)
>>> [<8060d184>] (time_init+0x28/0x38) from [<8060a754>]
>>> (start_kernel+0x1e0/0x3c8)
>>> [<8060a754>] (start_kernel+0x1e0/0x3c8) from [<40008078>] (0x40008078)
>>>
>>> Signed-off-by: Doug Anderson<dianders@xxxxxxxxxxxx>
>>
>>
>> Thanks Doug.
>>
>> Kukjin, I'll apply this directly on top of the previous branch in
>> arm-soc, if that's OK with you.
>>
> Sure, go ahead with my ack if you want,
>
> Acked-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx>
>
> Note, actually there was a fix which uses soc_is_exynos5440() in my local
> :-) I'm not sure which one is better at this moment, but I'm OK on this.

Ok, applied. Thanks all.


-Olof
--
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/