brcm47xx: fix reading WGT634U CFE variables with 4.1
authorRafał Miłecki <zajec5@gmail.com>
Mon, 7 Sep 2015 16:43:29 +0000 (16:43 +0000)
committerRafał Miłecki <zajec5@gmail.com>
Mon, 7 Sep 2015 16:43:29 +0000 (16:43 +0000)
This ports fix from r46584 to the 4.1.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 46806

target/linux/brcm47xx/patches-4.1/820-wgt634u-nvram-fix.patch

index 644abde6047ccdc6369ff99353ce7423302b203d..4738c223c4efb5b8787e76ab7949152df273fcbd 100644 (file)
@@ -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)