aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2015-08-12 13:29:22 +0000
committerRafał Miłecki <zajec5@gmail.com>2015-08-12 13:29:22 +0000
commite6e320b02abb8d3134525efe351a60b843cc0e22 (patch)
treebd4d1f613e3f90745b9bda9cad2cf0f621b4c414 /target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch
parent5e7c8fcc3e19f77280b776b89006088f337dcd2b (diff)
downloadmaster-187ad058-e6e320b02abb8d3134525efe351a60b843cc0e22.tar.gz
master-187ad058-e6e320b02abb8d3134525efe351a60b843cc0e22.tar.bz2
master-187ad058-e6e320b02abb8d3134525efe351a60b843cc0e22.zip
brcm47xx: fix reading WGT634U CFE variables
We got check for nvram_len placed too early and the code never tried reading CFE variables used on WGT634U. This is a regression introduced in r45942 and reported in #20291. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46584 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch12
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch
index 644abde604..4738c223c4 100644
--- a/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch
+++ b/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch
@@ -279,9 +279,9 @@ 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) {
-@@ -186,6 +208,13 @@ int bcm47xx_nvram_getenv(const char *nam
- return err;
- }
+@@ -180,6 +202,13 @@ int bcm47xx_nvram_getenv(const char *nam
+ if (!name)
+ return -EINVAL;
+ if (cfe_env) {
+ value = cfe_env_get(nvram_buf, name);
@@ -290,6 +290,6 @@ out the configuration than the in kernel cfe config reader.
+ 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);
+ if (!nvram_len) {
+ err = nvram_init();
+ if (err)