backport r21497 and r21517
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 23 May 2010 22:54:46 +0000 (22:54 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 23 May 2010 22:54:46 +0000 (22:54 +0000)
brcm47xx: fix destroying of 128MB modded ASUS WL-500GP

This should fix the last problem in #3177
Thank you b.sander for the patch.

SVN-Revision: 21557

package/nvram/Makefile
package/nvram/files/nvram.init

index f064b5fe3c013e8ec8d9bfe93965d3c9a775c398..4a57de2e32ea6742bdbf006a8ba87731f1989c65 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009 Jo-Philipp Wich <xm@subsignal.org>
+# Copyright (C) 2009-2010 Jo-Philipp Wich <xm@subsignal.org>
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nvram
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 
index 9eae17fd8a805b1e6a152c84c9a3643eb7093733..0267a80c5ac894b794986b00d725514f9b849ef2 100755 (executable)
@@ -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!"
+                               nvram_set sdram_init 0x0009
+                       }
                        [ "$COMMIT" = 1 ] && {
                                nvram_set sdram_ncdl 0x0
                        }