diff options
author | Stefan Roese <sr@denx.de> | 2007-03-01 21:16:58 +0100 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2007-03-01 21:16:58 +0100 |
commit | fdd1d6dcc97c595bd9d598ed3b22a7038781272c (patch) | |
tree | a0017423e9d07a9e05c07a8a1a6601a2a4d00177 | |
parent | c8556d0e0b27c57c0860f55736761a18c7a115f2 (diff) | |
parent | 3bf6c39b7bbd103fe58c7532152529bcd9b8fabe (diff) | |
download | u-boot-midas-fdd1d6dcc97c595bd9d598ed3b22a7038781272c.tar.gz u-boot-midas-fdd1d6dcc97c595bd9d598ed3b22a7038781272c.tar.bz2 u-boot-midas-fdd1d6dcc97c595bd9d598ed3b22a7038781272c.zip |
Merge with git+ssh://sr@pollux.denx.org/home/sr/git/u-boot/denx-merge-sr
-rw-r--r-- | board/mcc200/auto_update.c | 12 | ||||
-rw-r--r-- | include/configs/sc3.h | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/board/mcc200/auto_update.c b/board/mcc200/auto_update.c index faa01bd308..90d03ec47a 100644 --- a/board/mcc200/auto_update.c +++ b/board/mcc200/auto_update.c @@ -162,7 +162,7 @@ int au_check_cksum_valid(int idx, long nbytes) int au_check_header_valid(int idx, long nbytes) { image_header_t *hdr; - unsigned long checksum; + unsigned long checksum, fsize; hdr = (image_header_t *)LOAD_ADDR; /* check the easy ones first */ @@ -205,7 +205,7 @@ int au_check_header_valid(int idx, long nbytes) return -1; } if ((idx == IDX_ROOTFS) && - ( (hdr->ih_type != IH_TYPE_RAMDISK) || (hdr->ih_type != IH_TYPE_FILESYSTEM) ) + ( (hdr->ih_type != IH_TYPE_RAMDISK) && (hdr->ih_type != IH_TYPE_FILESYSTEM) ) ) { printf ("Image %s wrong type\n", aufile[idx]); ausize[idx] = 0; @@ -213,8 +213,10 @@ int au_check_header_valid(int idx, long nbytes) } /* recycle checksum */ checksum = ntohl(hdr->ih_size); - /* for kernel and app the image header must also fit into flash */ - if (idx != IDX_FIRMWARE) + + fsize = checksum + sizeof(*hdr); + /* for kernel and ramdisk the image header must also fit into flash */ + if (idx == IDX_KERNEL || hdr->ih_type == IH_TYPE_RAMDISK) checksum += sizeof(*hdr); /* check the size does not exceed space in flash. HUSH scripts */ @@ -224,7 +226,7 @@ int au_check_header_valid(int idx, long nbytes) return -1; } /* Update with the real filesize */ - ausize[idx] = (idx == IDX_FIRMWARE ? checksum + sizeof(*hdr) : checksum); + ausize[idx] = fsize; return checksum; /* return size to be written to flash */ } diff --git a/include/configs/sc3.h b/include/configs/sc3.h index b767449759..f2f059863d 100644 --- a/include/configs/sc3.h +++ b/include/configs/sc3.h @@ -115,7 +115,7 @@ ":${hostname}:${netdev}:off panic=1\0" \ "flash_nfs=run nfsargs addip;" \ "bootm ${kernel_addr}\0" \ - "flash_nand=nand_args addip addcon;bootm ${kernel_addr}\0" \ + "flash_nand=run nand_args addip addcon;bootm ${kernel_addr}\0" \ "net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \ "rootpath=/opt/eldk/ppc_4xx\0" \ "bootfile=/tftpboot/sc3/uImage\0" \ |