diff options
author | Simon Glass <sjg@chromium.org> | 2017-08-03 12:22:17 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-08-16 08:31:24 -0400 |
commit | c5951991942330c129f3b181e94969d7c01e9abb (patch) | |
tree | 39b5ee4ee37e5a595e088456e792d7251f7ee1ca /env/ext4.c | |
parent | 21f639446d6bccb6cc550140d36bd3ebd74fcee8 (diff) | |
download | u-boot-c5951991942330c129f3b181e94969d7c01e9abb.tar.gz |
env: Adjust the load() method to return an error
The load() methods have inconsistent behaviour on error. Some of them load
an empty default environment. Some load an environment containing an error
message. Others do nothing.
As a step in the right direction, have the method return an error code.
Then the caller could handle this itself in a consistent way.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'env/ext4.c')
-rw-r--r-- | env/ext4.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/env/ext4.c b/env/ext4.c index ee073a8b7c..65202213d3 100644 --- a/env/ext4.c +++ b/env/ext4.c @@ -75,7 +75,7 @@ static int env_ext4_save(void) } #endif /* CONFIG_CMD_SAVEENV */ -static void env_ext4_load(void) +static int env_ext4_load(void) { ALLOC_CACHE_ALIGN_BUFFER(char, buf, CONFIG_ENV_SIZE); struct blk_desc *dev_desc = NULL; @@ -109,10 +109,12 @@ static void env_ext4_load(void) } env_import(buf, 1); - return; + return 0; err_env_relocate: set_default_env(NULL); + + return -EIO; } U_BOOT_ENV_LOCATION(ext4) = { |