diff options
Diffstat (limited to 'common/cmd_bootm.c')
| -rw-r--r-- | common/cmd_bootm.c | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index c200fd8b8..ab6ccbb07 100644 --- a/common/cmd_bootm.c +++ b/common/cmd_bootm.c @@ -204,19 +204,21 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  	}  	SHOW_BOOT_PROGRESS (3); +#ifdef CONFIG_HAS_DATAFLASH +	if (addr_dataflash(addr)){ +		len  = ntohl(hdr->ih_size) + sizeof(image_header_t); +		read_dataflash(addr, len, (char *)CFG_LOAD_ADDR); +		addr = CFG_LOAD_ADDR; +	} +#endif + +  	/* for multi-file images we need the data part, too */  	print_image_hdr ((image_header_t *)addr);  	data = addr + sizeof(image_header_t);  	len  = ntohl(hdr->ih_size); -#ifdef CONFIG_HAS_DATAFLASH -	if (addr_dataflash(addr)){ -		read_dataflash(data, len, (char *)CFG_LOAD_ADDR); -		data = CFG_LOAD_ADDR; -	} -#endif -  	if (verify) {  		puts ("   Verifying Checksum ... ");  		if (crc32 (0, (char *)data, len) != ntohl(hdr->ih_dcrc)) { |