diff options
author | Igor Grinberg <grinberg@compulab.co.il> | 2011-08-16 23:48:23 (GMT) |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2011-09-03 20:40:46 (GMT) |
commit | 15c2e2c0ea64a0ab10b6765e2b0ab46d99d9ac34 (patch) | |
tree | ac25b47aa971f5c10c51d4bb653b513a306fe893 /arch/arm/lib/board.c | |
parent | b2b8f98f885c61f64aacaeb8fc4d247fbb3ae8cd (diff) | |
download | u-boot-fsl-qoriq-15c2e2c0ea64a0ab10b6765e2b0ab46d99d9ac34.tar.xz |
arm: fix bd pointer dereference prior initialization
gd->bd pointer has been used prior been initialized.
Move the relevant code after the initialization.
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Diffstat (limited to 'arch/arm/lib/board.c')
-rw-r--r-- | arch/arm/lib/board.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index 646cf45..c899839 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -275,10 +275,6 @@ void board_init_f(ulong bootflag) gd->mon_len = _bss_end_ofs; -#ifdef CONFIG_MACH_TYPE - gd->bd->bi_arch_number = CONFIG_MACH_TYPE; /* board id for Linux */ -#endif - for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { if ((*init_fnc_ptr)() != 0) { hang (); @@ -376,6 +372,11 @@ void board_init_f(ulong bootflag) gd->bd = bd; debug("Reserving %zu Bytes for Board Info at: %08lx\n", sizeof (bd_t), addr_sp); + +#ifdef CONFIG_MACH_TYPE + gd->bd->bi_arch_number = CONFIG_MACH_TYPE; /* board id for Linux */ +#endif + addr_sp -= sizeof (gd_t); id = (gd_t *) addr_sp; debug("Reserving %zu Bytes for Global Data at: %08lx\n", |