[WCNCR00146896] misc: modify top CR check for eco version ctrl

[Description]
Refactor top CR check for all eco version ctrl

Change-Id: Icfa9191528ca5e6eec658f2bf2842f0c45df0ebc
Feature: misc
Signed-off-by: wayne.guo <wayne.guo@mediatek.com>
CR-Id: WCNCR00146896
diff --git a/chips/mt6632.c b/chips/mt6632.c
index d74094b..938fae6 100644
--- a/chips/mt6632.c
+++ b/chips/mt6632.c
@@ -75,12 +75,12 @@
 */
 
 ECO_INFO_T mt6632_eco_table[] = {
-	/* HW version,  ROM version,    Factory version */
-	{0x00, 0x00, 0xA},	/* E1 */
-	{0x00, 0x00, 0xA},	/* E2 */
-	{0x10, 0x10, 0xA},	/* E3 */
+	/* HW version,  ROM version,    Factory version, Eco version */
+	{0x00, 0x00, 0xA, 0x1},	/* E1 */
+	{0x00, 0x00, 0xA, 0x2},	/* E2 */
+	{0x10, 0x10, 0xA, 0x3},	/* E3 */
 
-	{0x00, 0x00, 0x0}	/* End of table */
+	{0x00, 0x00, 0x0, 0x0}	/* End of table */
 };
 
 /*******************************************************************************
diff --git a/chips/mt7668.c b/chips/mt7668.c
index 6e5a049..3b0b9c7 100644
--- a/chips/mt7668.c
+++ b/chips/mt7668.c
@@ -75,10 +75,11 @@
 */
 
 ECO_INFO_T mt7668_eco_table[] = {
-	/* HW version,  ROM version,    Factory version */
-	{0x00, 0x00, 0xA},	/* E1 */
-	{0x10, 0x01, 0xB},	/* E2 */
-	{0x00, 0x00, 0x0}	/* End of table */
+	/* HW version,  ROM version,    Factory version, Eco version */
+	{0x00, 0x00, 0xA, 0x1},	/* E1 */
+	{0x10, 0x01, 0xB, 0x2},	/* E2 */
+	{0x11, 0x01, 0xB, 0x2},	/* E2 */
+	{0x00, 0x00, 0x0, 0x0}	/* End of table */
 };
 
 /*******************************************************************************
diff --git a/include/nic/nic.h b/include/nic/nic.h
index 2f29342..5196b78 100644
--- a/include/nic/nic.h
+++ b/include/nic/nic.h
@@ -98,6 +98,7 @@
 	UINT_8 ucHwVer;
 	UINT_8 ucRomVer;
 	UINT_8 ucFactoryVer;
+	UINT_8 ucEcoVer;
 } ECO_INFO_T, *P_ECO_INFO_T;
 
 enum ENUM_INT_EVENT_T {
diff --git a/nic/nic.c b/nic/nic.c
index 295acb8..bace38e 100644
--- a/nic/nic.c
+++ b/nic/nic.c
@@ -3539,9 +3539,6 @@
 		if ((prEcoInfo->ucRomVer == ucCurSwVer) &&
 			(prEcoInfo->ucHwVer == ucCurHwVer) &&
 			(prEcoInfo->ucFactoryVer == ucCurFactoryVer)) {
-
-			ucEcoVer++;
-
 			break;
 		}
 
@@ -3551,9 +3548,9 @@
 #if 0
 	DBGLOG(INIT, INFO,
 	       "Cannot get ECO version for SwVer[0x%02x]HwVer[0x%02x]FactoryVer[0x%1x],recognize as latest version[E%u]\n",
-	       ucCurSwVer, ucCurHwVer, ucCurFactoryVer, ucEcoVer);
+	       ucCurSwVer, ucCurHwVer, ucCurFactoryVer, prAdapter->chip_info->eco_info[ucEcoVer].ucEcoVer);
 #endif
-	return ucEcoVer;
+	return prAdapter->chip_info->eco_info[ucEcoVer].ucEcoVer;
 }
 
 BOOLEAN nicIsEcoVerEqualTo(IN P_ADAPTER_T prAdapter, UINT_8 ucEcoVer)