diff options
Diffstat (limited to 'common/flash.c')
| -rw-r--r-- | common/flash.c | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/common/flash.c b/common/flash.c index 8244ba2dd..0c57a3fcd 100644 --- a/common/flash.c +++ b/common/flash.c @@ -149,6 +149,9 @@ flash_write (char *src, ulong addr, ulong cnt)  	flash_info_t *info_first = addr2info (addr);  	flash_info_t *info_last  = addr2info (end );  	flash_info_t *info; +	__maybe_unused char *src_orig = src; +	__maybe_unused char *addr_orig = (char *)addr; +	__maybe_unused ulong cnt_orig = cnt;  	if (cnt == 0) {  		return (ERR_OK); @@ -185,6 +188,14 @@ flash_write (char *src, ulong addr, ulong cnt)  		addr += len;  		src  += len;  	} + +#if defined(CONFIG_FLASH_VERIFY) +	if (memcmp(src_orig, addr_orig, cnt_orig)) { +		printf("\nVerify failed!\n"); +		return ERR_PROG_ERROR; +	} +#endif /* CONFIG_SYS_FLASH_VERIFY_AFTER_WRITE */ +  	return (ERR_OK);  #endif /* CONFIG_SPD823TS */  } |