diff --git a/package/nvram/Makefile b/package/nvram/Makefile index f064b5fe3..4a57de2e3 100644 --- a/package/nvram/Makefile +++ b/package/nvram/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2009 Jo-Philipp Wich +# Copyright (C) 2009-2010 Jo-Philipp Wich # # 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) diff --git a/package/nvram/files/nvram.init b/package/nvram/files/nvram.init index 9eae17fd8..0267a80c5 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!" + nvram_set sdram_init 0x0009 + } [ "$COMMIT" = 1 ] && { nvram_set sdram_ncdl 0x0 }