diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-02-16 15:19:24 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2013-02-16 15:19:24 +0000 |
commit | a21ba013f5461977fa55add0d875dc2b90851f58 (patch) | |
tree | 84510c40110a41744f8bb5682dfd38ef886f3792 | |
parent | 283bff02a2d715dd3f1cd80f7aa536d77beebc87 (diff) | |
download | upstream-a21ba013f5461977fa55add0d875dc2b90851f58.tar.gz upstream-a21ba013f5461977fa55add0d875dc2b90851f58.tar.bz2 upstream-a21ba013f5461977fa55add0d875dc2b90851f58.zip |
brcm47xx: handle return values of cfe_env_get() correctly.
This closes #12746.
SVN-Revision: 35622
-rw-r--r-- | target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch index ef527c701e..2c135a1115 100644 --- a/target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.6/820-wgt634u-nvram-fix.patch @@ -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. */ off = FLASH_MIN; 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; } + if (cfe_env) { + value = cfe_env_get(nvram_buf, name); -+ snprintf(val, val_len, "%s", value); -+ return 0; ++ if (!value) ++ return -ENOENT; ++ return snprintf(val, val_len, "%s", value); + } + /* Look for name=value and return value */ var = &nvram_buf[sizeof(struct nvram_header)]; 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]) nvram_init(); |