brcm47xx: handle return values of cfe_env_get() correctly.

This closes #12746.

SVN-Revision: 35622
owl
Hauke Mehrtens 2013-02-16 15:19:24 +00:00
parent 283bff02a2
commit a21ba013f5
1 changed files with 5 additions and 4 deletions

View File

@ -280,20 +280,21 @@ out the configuration than the in kernel cfe config reader.
/* TODO: when nvram is on nand flash check for bad blocks first. */ /* TODO: when nvram is on nand flash check for bad blocks first. */
off = FLASH_MIN; off = FLASH_MIN;
while (off <= lim) { while (off <= lim) {
@@ -181,6 +203,12 @@ int bcm47xx_nvram_getenv(char *name, cha @@ -181,6 +203,13 @@ int bcm47xx_nvram_getenv(char *name, cha
return err; return err;
} }
+ if (cfe_env) { + if (cfe_env) {
+ value = cfe_env_get(nvram_buf, name); + value = cfe_env_get(nvram_buf, name);
+ snprintf(val, val_len, "%s", value); + if (!value)
+ return 0; + return -ENOENT;
+ return snprintf(val, val_len, "%s", value);
+ } + }
+ +
/* Look for name=value and return value */ /* Look for name=value and return value */
var = &nvram_buf[sizeof(struct nvram_header)]; var = &nvram_buf[sizeof(struct nvram_header)];
end = nvram_buf + sizeof(nvram_buf) - 2; end = nvram_buf + sizeof(nvram_buf) - 2;
@@ -209,6 +237,9 @@ char *nvram_get(const char *name) @@ -209,6 +238,9 @@ char *nvram_get(const char *name)
if (!nvram_buf[0]) if (!nvram_buf[0])
nvram_init(); nvram_init();