[][[kernel][mt7988][eth][add reset function from fe to fe&&wdma reset]]

[Description]
Add reset function from FE reset to FE&WDMA reset
-FE reset need wifi stop traffic
-WIFI stop traffic may fail because of FE's reason
-we should switch to FE&WDMA reset when WIFI stop traffic fail
-default setting :mask print too much debug information
-follow DE advice jaguar disable idle check for xgdm/xmac

[Release-log]
N/A


Change-Id: I6b80eaa1114db23dbe751c046f8930c2d3548ff0
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7409800
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index b4890fe..05a5595 100755
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3959,8 +3959,20 @@
 				eth->netdev[i]);
 		}
 		rtnl_unlock();
-		if (!wait_for_completion_timeout(&wait_ser_done, 3000))
+		if (!wait_for_completion_timeout(&wait_ser_done, 3000)) {
+			if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V3) &&
+				(mtk_stop_fail)) {
+				pr_info("send MTK_FE_START_RESET stop\n");
+				rtnl_lock();
+				call_netdevice_notifiers(MTK_FE_START_RESET,
+					eth->netdev[i]);
+				rtnl_unlock();
+				if (!wait_for_completion_timeout(&wait_ser_done,
+					3000))
+					pr_warn("wait for MTK_FE_START_RESET\n");
+				}
 			pr_warn("wait for MTK_FE_START_RESET\n");
+		}
 		rtnl_lock();
 		break;
 	}