summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/nvram/Makefile2
-rw-r--r--package/nvram/src/nvram.c12
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) )
{