* [U-Boot] [PATCH 1/3] env: Fix up invalid environment in env_init() @ 2017-08-20 10:45 Simon Glass 2017-08-20 10:45 ` [U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors Simon Glass 2017-08-20 10:45 ` [U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags Simon Glass 0 siblings, 2 replies; 5+ messages in thread From: Simon Glass @ 2017-08-20 10:45 UTC (permalink / raw) To: u-boot This should be set to valid, not invalid. Otherwise the environment will not load after relocation. Signed-off-by: Simon Glass <sjg@chromium.org> --- env/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 2b8b9611cf..8671f13f8d 100644 --- a/env/env.c +++ b/env/env.c @@ -138,7 +138,7 @@ int env_init(void) ret = drv->init(); if (ret == -ENOENT) { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_VALID; return 0; } else if (ret) { -- 2.14.1.480.gb18f417b89-goog ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors 2017-08-20 10:45 [U-Boot] [PATCH 1/3] env: Fix up invalid environment in env_init() Simon Glass @ 2017-08-20 10:45 ` Simon Glass 2017-08-20 23:29 ` [U-Boot] [U-Boot,2/3] " Tom Rini 2017-08-20 10:45 ` [U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags Simon Glass 1 sibling, 1 reply; 5+ messages in thread From: Simon Glass @ 2017-08-20 10:45 UTC (permalink / raw) To: u-boot Now that we have errors available in the environment driver's load() method, check the return valid. Signed-off-by: Simon Glass <sjg@chromium.org> --- env/env.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/env.c b/env/env.c index 8671f13f8d..1255d57f48 100644 --- a/env/env.c +++ b/env/env.c @@ -98,7 +98,7 @@ int env_load(void) return -ENODEV; if (!drv->load) return 0; - drv->load(); /* TODO(sjg at chromium.org): Make this return an error */ + ret = drv->load(); if (ret) { debug("%s: Environment failed to load (err=%d)\n", __func__, ret); -- 2.14.1.480.gb18f417b89-goog ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [U-Boot,2/3] env: Allow env_load() to detect errors 2017-08-20 10:45 ` [U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors Simon Glass @ 2017-08-20 23:29 ` Tom Rini 0 siblings, 0 replies; 5+ messages in thread From: Tom Rini @ 2017-08-20 23:29 UTC (permalink / raw) To: u-boot On Sun, Aug 20, 2017 at 04:45:14AM -0600, Simon Glass wrote: > Now that we have errors available in the environment driver's load() > method, check the return valid. > > Signed-off-by: Simon Glass <sjg@chromium.org> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170820/098709e6/attachment.sig> ^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags 2017-08-20 10:45 [U-Boot] [PATCH 1/3] env: Fix up invalid environment in env_init() Simon Glass 2017-08-20 10:45 ` [U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors Simon Glass @ 2017-08-20 10:45 ` Simon Glass 2017-08-20 23:29 ` [U-Boot] [U-Boot, " Tom Rini 1 sibling, 1 reply; 5+ messages in thread From: Simon Glass @ 2017-08-20 10:45 UTC (permalink / raw) To: u-boot Some of these were missed in the conversion. Signed-off-by: Simon Glass <sjg@chromium.org> --- env/common.c | 20 ++++++++++---------- env/eeprom.c | 6 +++--- env/env.c | 2 +- env/flash.c | 4 ++-- env/nand.c | 2 +- env/nvram.c | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/env/common.c b/env/common.c index 688d5ab4c8..b403bd5f6c 100644 --- a/env/common.c +++ b/env/common.c @@ -52,7 +52,7 @@ char *env_get_default(const char *name) /* Pretend that the image is bad. */ gd->flags &= ~GD_FLG_ENV_READY; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; ret_val = env_get(name); gd->env_valid = really_valid; gd->flags = real_gd_flags; @@ -210,24 +210,24 @@ int env_import_redund(const char *buf1, const char *buf2) set_default_env("!bad CRC"); return 0; } else if (crc1_ok && !crc2_ok) { - gd->env_valid = 1; + gd->env_valid = ENV_VALID; } else if (!crc1_ok && crc2_ok) { - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; } else { /* both ok - check serial */ if (tmp_env1->flags == 255 && tmp_env2->flags == 0) - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; else if (tmp_env2->flags == 255 && tmp_env1->flags == 0) - gd->env_valid = 1; + gd->env_valid = ENV_VALID; else if (tmp_env1->flags > tmp_env2->flags) - gd->env_valid = 1; + gd->env_valid = ENV_VALID; else if (tmp_env2->flags > tmp_env1->flags) - gd->env_valid = 2; + gd->env_valid = ENV_REDUND; else /* flags are equal - almost impossible */ - gd->env_valid = 1; + gd->env_valid = ENV_VALID; } - if (gd->env_valid == 1) + if (gd->env_valid == ENV_VALID) ep = tmp_env1; else ep = tmp_env2; @@ -271,7 +271,7 @@ void env_relocate(void) env_reloc(); env_htab.change_ok += gd->reloc_off; #endif - if (gd->env_valid == 0) { + if (gd->env_valid == ENV_INVALID) { #if defined(CONFIG_ENV_IS_NOWHERE) || defined(CONFIG_SPL_BUILD) /* Environment not changable */ set_default_env(NULL); diff --git a/env/eeprom.c b/env/eeprom.c index 08ef6307fc..584379ebd2 100644 --- a/env/eeprom.c +++ b/env/eeprom.c @@ -122,7 +122,7 @@ static int env_eeprom_load(void) if (!crc_ok[0] && !crc_ok[1]) { gd->env_addr = 0; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } else if (crc_ok[0] && !crc_ok[1]) { gd->env_valid = ENV_VALID; } else if (!crc_ok[0] && crc_ok[1]) { @@ -166,9 +166,9 @@ static int env_eeprom_load(void) } if (crc == new) { - gd->env_valid = ENV_VALID; + gd->env_valid = ENV_VALID; } else { - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } #endif /* CONFIG_ENV_OFFSET_REDUND */ diff --git a/env/env.c b/env/env.c index 1255d57f48..43290d0832 100644 --- a/env/env.c +++ b/env/env.c @@ -74,7 +74,7 @@ int env_get_char(int index) struct env_driver *drv = env_driver_lookup_default(); int ret; - if (!gd->env_valid) + if (gd->env_valid == ENV_INVALID) return default_environment[index]; if (!drv) return -ENODEV; diff --git a/env/flash.c b/env/flash.c index b60be57a8d..bac10ff985 100644 --- a/env/flash.c +++ b/env/flash.c @@ -94,7 +94,7 @@ static int env_flash_init(void) gd->env_valid = ENV_VALID; } else if (!crc1_ok && !crc2_ok) { gd->env_addr = addr_default; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } else if (flag1 == ACTIVE_FLAG && flag2 == OBSOLETE_FLAG) { gd->env_addr = addr1; gd->env_valid = ENV_VALID; @@ -231,7 +231,7 @@ static int env_flash_init(void) } gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; return 0; } #endif diff --git a/env/nand.c b/env/nand.c index dea7b00720..8058b55c50 100644 --- a/env/nand.c +++ b/env/nand.c @@ -79,7 +79,7 @@ static int env_nand_init(void) if (!crc1_ok && !crc2_ok) { gd->env_addr = 0; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; return 0; } else if (crc1_ok && !crc2_ok) { diff --git a/env/nvram.c b/env/nvram.c index 5fb3115ce6..c8b34754ef 100644 --- a/env/nvram.c +++ b/env/nvram.c @@ -106,7 +106,7 @@ static int env_nvram_init(void) gd->env_valid = ENV_VALID; } else { gd->env_addr = (ulong)&default_environment[0]; - gd->env_valid = 0; + gd->env_valid = ENV_INVALID; } return 0; -- 2.14.1.480.gb18f417b89-goog ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [U-Boot, 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags 2017-08-20 10:45 ` [U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags Simon Glass @ 2017-08-20 23:29 ` Tom Rini 0 siblings, 0 replies; 5+ messages in thread From: Tom Rini @ 2017-08-20 23:29 UTC (permalink / raw) To: u-boot On Sun, Aug 20, 2017 at 04:45:15AM -0600, Simon Glass wrote: > Some of these were missed in the conversion. > Signed-off-by: Simon Glass <sjg@chromium.org> Applied to u-boot/master, thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170820/0cd398ed/attachment.sig> ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-08-20 23:29 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-08-20 10:45 [U-Boot] [PATCH 1/3] env: Fix up invalid environment in env_init() Simon Glass 2017-08-20 10:45 ` [U-Boot] [PATCH 2/3] env: Allow env_load() to detect errors Simon Glass 2017-08-20 23:29 ` [U-Boot] [U-Boot,2/3] " Tom Rini 2017-08-20 10:45 ` [U-Boot] [PATCH 3/3] env: Replace all open-coded gd->env_valid values with ENV_ flags Simon Glass 2017-08-20 23:29 ` [U-Boot] [U-Boot, " Tom Rini
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.