diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/env_common.c | 34 | ||||
| -rw-r--r-- | common/env_nand.c | 14 | 
2 files changed, 19 insertions, 29 deletions
| diff --git a/common/env_common.c b/common/env_common.c index 5ac14e89c..d51c2114d 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -204,6 +204,23 @@ uchar *env_get_addr (int index)  	}  } +void set_default_env(void) +{ +	if (sizeof(default_environment) > ENV_SIZE) { +		puts ("*** Error - default environment is too large\n\n"); +		return; +	} + +	memset(env_ptr, 0, sizeof(env_t)); +	memcpy(env_ptr->data, default_environment, +	       sizeof(default_environment)); +#ifdef CFG_REDUNDAND_ENVIRONMENT +	env_ptr->flags = 0xFF; +#endif +	env_crc_update (); +	gd->env_valid = 1; +} +  void env_relocate (void)  {  	DEBUGF ("%s[%d] offset = 0x%lx\n", __FUNCTION__,__LINE__, @@ -235,22 +252,7 @@ void env_relocate (void)  		puts ("*** Warning - bad CRC, using default environment\n\n");  		show_boot_progress (-60);  #endif - -		if (sizeof(default_environment) > ENV_SIZE) -		{ -			puts ("*** Error - default environment is too large\n\n"); -			return; -		} - -		memset (env_ptr, 0, sizeof(env_t)); -		memcpy (env_ptr->data, -			default_environment, -			sizeof(default_environment)); -#ifdef CFG_REDUNDAND_ENVIRONMENT -		env_ptr->flags = 0xFF; -#endif -		env_crc_update (); -		gd->env_valid = 1; +		set_default_env();  	}  	else {  		env_relocate_spec (); diff --git a/common/env_nand.c b/common/env_nand.c index 895401770..3890b8494 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -363,19 +363,7 @@ void env_relocate_spec (void)  static void use_default()  {  	puts ("*** Warning - bad CRC or NAND, using default environment\n\n"); - -	if (default_environment_size > CFG_ENV_SIZE){ -		puts ("*** Error - default environment is too large\n\n"); -		return; -	} - -	memset (env_ptr, 0, sizeof(env_t)); -	memcpy (env_ptr->data, -			default_environment, -			default_environment_size); -	env_ptr->crc = crc32(0, env_ptr->data, ENV_SIZE); -	gd->env_valid = 1; - +	set_default_env();  }  #endif |