sh: Add asm/unaligned.h and asm/unaligned-sh4a.h from Linux kernel
[oweals/u-boot.git] / common / env_nand.c
index 90a1c454720ae4fe5ad483cf78cddbba5b4194ec..a15a9509025d201337d7c7b2fb2c4a874a46a21b 100644 (file)
 #define CONFIG_ENV_RANGE       CONFIG_ENV_SIZE
 #endif
 
-int nand_legacy_rw (struct nand_chip* nand, int cmd,
-           size_t start, size_t len,
-           size_t * retlen, u_char * buf);
-
 /* references to names in env_common.c */
 extern uchar default_environment[];
-extern int default_environment_size;
 
 char * env_name_spec = "NAND";
 
@@ -303,6 +298,13 @@ void env_relocate_spec (void)
        tmp_env1 = (env_t *) malloc(CONFIG_ENV_SIZE);
        tmp_env2 = (env_t *) malloc(CONFIG_ENV_SIZE);
 
+       if ((tmp_env1 == NULL) || (tmp_env2 == NULL)) {
+               puts("Can't allocate buffers for environment\n");
+               free (tmp_env1);
+               free (tmp_env2);
+               return use_default();
+       }
+
        if (readenv(CONFIG_ENV_OFFSET, (u_char *) tmp_env1))
                puts("No Valid Environment Area Found\n");
        if (readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2))