diff options
author | Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com> | 2018-01-31 14:47:10 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-01-31 18:45:10 -0500 |
commit | 42a1820bbcc7dfedcf625b88a1013c11e9ef6709 (patch) | |
tree | 5ad1234769e5fd1f4745399a544115b1d7d3130b /env | |
parent | 87c7fb396a59d3e2be434cc956462ba46451193b (diff) | |
download | u-boot-42a1820bbcc7dfedcf625b88a1013c11e9ef6709.tar.gz |
env: make env_import(_redund) return 0 on success, not 1
env_import (and env_import_redund) currently return 1 on success
and 0 on error. However, they are only used from functions
returning 0 on success or a negative value on error.
Let's clean this up by making env_import and env_import_redund
return 0 on success and -EIO on error (as was the case for all
users before).
Users that cared for the return value are also updated. Funny
enough, this only affects onenand.c and sf.c
Signed-off-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'env')
-rw-r--r-- | env/common.c | 8 | ||||
-rw-r--r-- | env/onenand.c | 4 | ||||
-rw-r--r-- | env/sf.c | 4 |
3 files changed, 8 insertions, 8 deletions
diff --git a/env/common.c b/env/common.c index c633502d68..363ba6fead 100644 --- a/env/common.c +++ b/env/common.c @@ -118,21 +118,21 @@ int env_import(const char *buf, int check) if (crc32(0, ep->data, ENV_SIZE) != crc) { set_default_env("!bad CRC"); - return 0; + return -EIO; } } if (himport_r(&env_htab, (char *)ep->data, ENV_SIZE, '\0', 0, 0, 0, NULL)) { gd->flags |= GD_FLG_ENV_READY; - return 1; + return 0; } pr_err("Cannot import environment: errno = %d\n", errno); set_default_env("!import failed"); - return 0; + return -EIO; } #ifdef CONFIG_SYS_REDUNDAND_ENVIRONMENT @@ -153,7 +153,7 @@ int env_import_redund(const char *buf1, const char *buf2) if (!crc1_ok && !crc2_ok) { set_default_env("!bad CRC"); - return 0; + return -EIO; } else if (crc1_ok && !crc2_ok) { gd->env_valid = ENV_VALID; } else if (!crc1_ok && crc2_ok) { diff --git a/env/onenand.c b/env/onenand.c index 2e3045c5f5..10a8cccbe8 100644 --- a/env/onenand.c +++ b/env/onenand.c @@ -57,10 +57,10 @@ static int env_onenand_load(void) #endif /* !ENV_IS_EMBEDDED */ rc = env_import(buf, 1); - if (rc) + if (!rc) gd->env_valid = ENV_VALID; - return rc ? 0 : -EIO; + return rc; } static int env_onenand_save(void) @@ -236,7 +236,7 @@ static int env_sf_load(void) ep = tmp_env2; ret = env_import((char *)ep, 0); - if (!ret) { + if (ret) { pr_err("Cannot import environment: errno = %d\n", errno); set_default_env("!env_import failed"); } @@ -336,7 +336,7 @@ static int env_sf_load(void) } ret = env_import(buf, 1); - if (ret) + if (!ret) gd->env_valid = ENV_VALID; err_read: |