diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2012-11-12 21:32:33 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2012-11-12 21:32:33 +0000 |
commit | bac93bdd8ed6f46bf4205e42451f9d4e5f1b74cc (patch) | |
tree | 9e054214f9f2272183516bfce0d2967a420a3ad2 /target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch | |
parent | 00243027ddc9c894eabdd09fa475c918802d0e3a (diff) | |
download | upstream-bac93bdd8ed6f46bf4205e42451f9d4e5f1b74cc.tar.gz upstream-bac93bdd8ed6f46bf4205e42451f9d4e5f1b74cc.tar.bz2 upstream-bac93bdd8ed6f46bf4205e42451f9d4e5f1b74cc.zip |
brcm47xx: fix cfe config detection on WGT634U broken in r33920
Thanks Russell Senior for reporting this.
SVN-Revision: 34175
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch index 0aef7952d1..c2da5e0770 100644 --- a/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch @@ -254,10 +254,10 @@ out the configuration than the in kernel cfe config reader. static u32 find_nvram_size(u32 end) { -@@ -59,6 +61,25 @@ static void early_nvram_init_fill(u32 ba - } - off <<= 1; - } +@@ -47,6 +49,26 @@ static void early_nvram_init_fill(u32 ba + u32 *src, *dst; + u32 size; + + cfe_env = 0; + + /* XXX: hack for supporting the CFE environment stuff on WGT634U */ @@ -277,10 +277,11 @@ out the configuration than the in kernel cfe config reader. + return; + } + } - - /* Try embedded NVRAM at 4 KB and 1 KB as last resorts */ - header = (struct nvram_header *) KSEG1ADDR(base + 4096); -@@ -166,6 +187,12 @@ int nvram_getenv(char *name, char *val, ++ + /* TODO: when nvram is on nand flash check for bad blocks first. */ + off = FLASH_MIN; + while (off <= lim) { +@@ -166,6 +188,12 @@ int nvram_getenv(char *name, char *val, if (!nvram_buf[0]) early_nvram_init(); @@ -293,7 +294,7 @@ out the configuration than the in kernel cfe config reader. /* Look for name=value and return value */ var = &nvram_buf[sizeof(struct nvram_header)]; end = nvram_buf + sizeof(nvram_buf) - 2; -@@ -194,6 +221,9 @@ char *nvram_get(const char *name) +@@ -194,6 +222,9 @@ char *nvram_get(const char *name) if (!nvram_buf[0]) early_nvram_init(); |