X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=env%2Fcommon.c;h=bd340fe9d52d7bdfb62d68c83ceca6954ccf27ae;hb=e2822ccc2c7c0ba8d7d959a1fa1e6221ed135423;hp=d1a6a5286013a6669f1b8c69e1fa4425a941714e;hpb=0cd35f392000fb0783149d9b5f66c5f2e01bcbf1;p=oweals%2Fu-boot.git diff --git a/env/common.c b/env/common.c index d1a6a52860..bd340fe9d5 100644 --- a/env/common.c +++ b/env/common.c @@ -23,7 +23,10 @@ DECLARE_GLOBAL_DATA_PTR; #include struct hsearch_data env_htab = { +#if CONFIG_IS_ENABLED(ENV_SUPPORT) + /* defined in flags.c, only compile with ENV_SUPPORT */ .change_ok = env_flags_validate, +#endif }; /* @@ -115,7 +118,7 @@ int env_import(const char *buf, int check) if (crc32(0, ep->data, ENV_SIZE) != crc) { set_default_env("bad CRC", 0); - return -EIO; + return -ENOMSG; /* needed for env_load() */ } } @@ -169,7 +172,7 @@ int env_import_redund(const char *buf1, int buf1_read_fail, if (!crc1_ok && !crc2_ok) { set_default_env("bad CRC", 0); - return -EIO; + return -ENOMSG; /* needed for env_load() */ } else if (crc1_ok && !crc2_ok) { gd->env_valid = ENV_VALID; } else if (!crc1_ok && crc2_ok) { @@ -225,7 +228,9 @@ void env_relocate(void) #if defined(CONFIG_NEEDS_MANUAL_RELOC) env_reloc(); env_fix_drivers(); - env_htab.change_ok += gd->reloc_off; + + if (env_htab.change_ok) + env_htab.change_ok += gd->reloc_off; #endif if (gd->env_valid == ENV_INVALID) { #if defined(CONFIG_ENV_IS_NOWHERE) || defined(CONFIG_SPL_BUILD)