summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-01-08 18:11:44 +0100
committerWolfgang Denk <wd@denx.de>2008-02-07 01:12:55 +0100
commit15158971f49255ccef54f0979a942cfd3de2ae52 (patch)
tree3fa244d13c762c72d72fc153f6b66afd23800cfd
parent261dcf4624b25f3c551efcf8634e9194fabba9c3 (diff)
downloadu-boot-imx-15158971f49255ccef54f0979a942cfd3de2ae52.zip
u-boot-imx-15158971f49255ccef54f0979a942cfd3de2ae52.tar.gz
u-boot-imx-15158971f49255ccef54f0979a942cfd3de2ae52.tar.bz2
[new uImage] Fix uImage header pointer use in i386 do_bootm_linux()
Use image header copy instead of a (possibly corrupted) pointer to a initial image location. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
-rw-r--r--lib_i386/i386_linux.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib_i386/i386_linux.c b/lib_i386/i386_linux.c
index 6cb021a..b0cf263 100644
--- a/lib_i386/i386_linux.c
+++ b/lib_i386/i386_linux.c
@@ -129,13 +129,13 @@ void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
}
/* if multi-part image, we need to advance base ptr */
- if (image_check_type (hdr, IH_TYPE_MULTI) && (len_ptr[1])) {
+ if (image_check_type (&header, IH_TYPE_MULTI) && (len_ptr[1])) {
int i;
for (i=0, addr+=sizeof(int); len_ptr[i++]; addr+=sizeof(int));
}
- base_ptr = load_zimage((void*)addr + image_get_header_size (),
- image_get_data_size (hdr),
+ base_ptr = load_zimage ((void*)addr + image_get_header_size (),
+ image_get_data_size (&header),
initrd_start, initrd_end-initrd_start, 0);
if (NULL == base_ptr) {