powerpc: More little endian fixes for prom.c
authorAlistair Popple <alistair@popple.id.au>
Tue, 6 Aug 2013 16:01:28 +0000 (02:01 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Wed, 14 Aug 2013 05:33:19 +0000 (15:33 +1000)
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/prom.c

index d8a687c5e3eed6e7bee4dd226ac7f9ccab0547ce..d87e03fc8cfd7b0507d9baddcde3e141cad0df9e 100644 (file)
@@ -456,7 +456,7 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node)
        if (dm == NULL || l < sizeof(__be32))
                return 0;
 
-       n = *dm++;      /* number of entries */
+       n = of_read_number(dm++, 1);    /* number of entries */
        if (l < (n * (dt_root_addr_cells + 4) + 1) * sizeof(__be32))
                return 0;
 
@@ -468,7 +468,7 @@ static int __init early_init_dt_scan_drconf_memory(unsigned long node)
 
        for (; n != 0; --n) {
                base = dt_mem_next_cell(dt_root_addr_cells, &dm);
-               flags = dm[3];
+               flags = of_read_number(&dm[3], 1);
                /* skip DRC index, pad, assoc. list index, flags */
                dm += 4;
                /* skip this block if the reserved bit is set in flags (0x80)