aboutsummaryrefslogtreecommitdiffstats
path: root/package/nvram
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2010-05-17 21:39:04 +0000
committerHauke Mehrtens <hauke@openwrt.org>2010-05-17 21:39:04 +0000
commitf766b816844d66f3f31a047778d9766bd31ffad0 (patch)
tree6092e861851ae78604a00e673ac58f096de9a939 /package/nvram
parent049f57ea1543d84f41b3eb9f0e886f96f62ca63c (diff)
downloadupstream-f766b816844d66f3f31a047778d9766bd31ffad0.tar.gz
upstream-f766b816844d66f3f31a047778d9766bd31ffad0.tar.bz2
upstream-f766b816844d66f3f31a047778d9766bd31ffad0.zip
brcm47xx: fix destroying of 128MB modded ASUS WL-500GP
This fixup was introduced in r11812 to correct settings for devices only showing 16MB RAM instead of 128MB. That killed devices with 128MB RAM. Now value is *set* 0x0009 and not ored. The value is only corrected if it has less than 32 MB Ram. This should fix the last problem in #3177 Thank you b.sander for the patch. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21497 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/nvram')
-rwxr-xr-xpackage/nvram/files/nvram.init8
1 files changed, 7 insertions, 1 deletions
diff --git a/package/nvram/files/nvram.init b/package/nvram/files/nvram.init
index 9eae17fd8a..e6ef8619c0 100755
--- a/package/nvram/files/nvram.init
+++ b/package/nvram/files/nvram.init
@@ -52,7 +52,13 @@ fixup_linksys() {
}
;;
"1071") #0x042f
- nvram_set sdram_init "$(printf 0x%04x $(( $(/usr/sbin/nvram get sdram_init) | 0x0009 )))"
+ # do sanity check first! max 0x0011 = 128mb
+ SDRAM_INIT=$(printf %d $(/usr/sbin/nvram get sdram_init))
+ [ "$SDRAM_INIT" -lt "9" -o "$SDRAM_INIT" -gt "17" ] && {
+ # set this to default: 0x09 only if value is invaild like 16MB on Asus WL-500GP
+ echo "sdram_init is invaild: $(printf 0x%04x $SDRAM_INIT), force to default!"
+ $(/usr/sbin/nvram_set sdram_init "0x0009")
+ }
[ "$COMMIT" = 1 ] && {
nvram_set sdram_ncdl 0x0
}