summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter <phil.sutter@viprinet.com>2013-02-21 18:21:55 +0100
committerScott Wood <scottwood@freescale.com>2013-02-22 19:34:53 -0600
commitb76a147b722565bde046f707a5cc92df8ea29738 (patch)
tree5938c7eb2743948a33558aad9e46296e64831eeb
parentfcecb4a52c780d5fa7e8781db7ef5440aff0b48c (diff)
downloadu-boot-imx-b76a147b722565bde046f707a5cc92df8ea29738.zip
u-boot-imx-b76a147b722565bde046f707a5cc92df8ea29738.tar.gz
u-boot-imx-b76a147b722565bde046f707a5cc92df8ea29738.tar.bz2
env_nand.c: clarify log messages when env reading fails
The single message is misleading, since there is no equivalent success note when reading the other copy succeeds. Instead, warn if one of the redundant copies could not be loaded and emphasise on the error when reading both fails. Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
-rw-r--r--common/env_nand.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/common/env_nand.c b/common/env_nand.c
index 22e72a2..382e8ae 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -331,6 +331,7 @@ int get_nand_env_oob(nand_info_t *nand, unsigned long *result)
void env_relocate_spec(void)
{
#if !defined(ENV_IS_EMBEDDED)
+ int read1_fail = 0, read2_fail = 0;
int crc1_ok = 0, crc2_ok = 0;
env_t *ep, *tmp_env1, *tmp_env2;
@@ -342,11 +343,14 @@ void env_relocate_spec(void)
goto done;
}
- if (readenv(CONFIG_ENV_OFFSET, (u_char *) tmp_env1))
- puts("No Valid Environment Area found\n");
+ read1_fail = readenv(CONFIG_ENV_OFFSET, (u_char *) tmp_env1);
+ read2_fail = readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2);
- if (readenv(CONFIG_ENV_OFFSET_REDUND, (u_char *) tmp_env2))
- puts("No Valid Redundant Environment Area found\n");
+ if (read1_fail && read2_fail)
+ puts("*** Error - No Valid Environment Area found\n");
+ else if (read1_fail || read2_fail)
+ puts("*** Warning - some problems detected "
+ "reading environment; recovered successfully\n");
crc1_ok = crc32(0, tmp_env1->data, ENV_SIZE) == tmp_env1->crc;
crc2_ok = crc32(0, tmp_env2->data, ENV_SIZE) == tmp_env2->crc;