Просмотр исходного кода

fix adm switch misdetection, which led to bogus button events that caused the system to shut down

SVN-Revision: 9555
Felix Fietkau 18 лет назад
Родитель
Сommit
e3ecefbd23
2 измененных файлов с 7 добавлено и 7 удалено
  1. 1 1
      package/broadcom-diag/src/diag.c
  2. 6 6
      package/switch/src/switch-adm.c

+ 1 - 1
package/broadcom-diag/src/diag.c

@@ -738,7 +738,7 @@ static struct platform_t __init *platform_detect(void)
 		return &platforms[WR850GV2V3];
 		return &platforms[WR850GV2V3];
 	}
 	}
 
 
-	if (!strcmp(boardnum, "44")) {  /* Trendware TEW-411BRP+ */
+	if (!strcmp(boardnum, "44") && !strcmp(getvar("boardflags"),"0x0388")) {  /* Trendware TEW-411BRP+ */
 		return &platforms[TEW411BRPP];
 		return &platforms[TEW411BRPP];
 	}
 	}
 
 

+ 6 - 6
package/switch/src/switch-adm.c

@@ -500,13 +500,13 @@ static int detect_adm(void)
 	int boardflags = atoi(nvram_get("boardflags"));
 	int boardflags = atoi(nvram_get("boardflags"));
         int boardnum = atoi(nvram_get("boardnum"));
         int boardnum = atoi(nvram_get("boardnum"));
 
 
-        if (boardnum == 44) {   /* Trendware TEW-411BRP+ */
-                ret = 1;
+	if ((boardnum == 44) && (boardflags == 0x0388)) {  /* Trendware TEW-411BRP+ */
+		ret = 1;
 
 
-                eecs = get_gpiopin("adm_eecs", 2);
-                eesk = get_gpiopin("adm_eesk", 3);
-                eedi = get_gpiopin("adm_eedi", 4);
-                eerc = get_gpiopin("adm_rc", 5);
+		eecs = get_gpiopin("adm_eecs", 2);
+		eesk = get_gpiopin("adm_eesk", 3);
+		eedi = get_gpiopin("adm_eedi", 4);
+		eerc = get_gpiopin("adm_rc", 5);
 
 
 	} else if ((boardflags & 0x80) || force) {
 	} else if ((boardflags & 0x80) || force) {
 		ret = 1;
 		ret = 1;