diff options
Diffstat (limited to 'package/nvram')
-rw-r--r-- | package/nvram/Makefile | 2 | ||||
-rw-r--r-- | package/nvram/src/nvram.c | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/package/nvram/Makefile b/package/nvram/Makefile index ff9359bea..c2270714f 100644 --- a/package/nvram/Makefile +++ b/package/nvram/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nvram -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) diff --git a/package/nvram/src/nvram.c b/package/nvram/src/nvram.c index 78baa9431..ed3da4312 100644 --- a/package/nvram/src/nvram.c +++ b/package/nvram/src/nvram.c @@ -411,8 +411,18 @@ char * nvram_find_mtd(void) char dev[PATH_MAX]; char *path = NULL; struct stat s; + int supported = 1; - if( (fp = fopen("/proc/mtd", "r")) ) + /* Refuse any operation on the WGT634U */ + if( (fp = fopen("/proc/diag/model", "r")) ) + { + if( fgets(dev, sizeof(dev), fp) && !strncmp(dev, "Netgear WGT634U", 15) ) + supported = 0; + + fclose(fp); + } + + if( supported && (fp = fopen("/proc/mtd", "r")) ) { while( fgets(dev, sizeof(dev), fp) ) { |