Device Tree Corrupted after unflatten_device_tree()

Michael Ellerman michael at ellerman.id.au
Wed Oct 21 10:01:31 EST 2009


On Tue, 2009-10-20 at 09:10 -0700, Lixin Yao wrote:
> I use a board with MPC866T and 2.6.28 Linux Kernel.  Occasionally, the
> unflattened device is corrupted after “unflatten_device_tree()” which
> causes crash of kernel when device tree is traversed later on.
> 
> I looked at the fixes in lib/lmb.c, arch/powerpc/mm,
> arch/powerpc/kernel etc since 2.6.28 to 2.6.32-r4 (the most recent
> version) and could not fix my problem.
> 
> I have had a hard time trying to determine the cause. 
> 
> arch/powerpc/kernel/setup_32.c
> 
> void __init setup_arch(char **cmdline_p)
> 
> {
> 
>         *cmdline_p = cmd_line;
> 
>         /* so udelay does something sensible, assume <= 1000 bogomips
> */
> 
>         loops_per_jiffy = 500000000 / HZ;
> 
>         unflatten_device_tree();
> 
>         /* UNFLATTENED DEVICE TREE IS CORRUPTED SOMETIMES HERE */

_In what way_ is it corrupted? Bad tree structure? Bogus node/property
values, names etc.

cheers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20091021/873ac32d/attachment-0001.pgp>


More information about the Linuxppc-dev mailing list