[Buxfix][API-604][Ethernet]eth2 ping fails after closing eth0 when using RGMII
Change-Id: Ie8996cf7fefc7a9384c175d46ba0fd30d4c44c75
diff --git a/src/kernel/linux/v4.19/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/src/kernel/linux/v4.19/drivers/net/ethernet/mediatek/mtk_eth_soc.c
old mode 100644
new mode 100755
index 6dd83e1..724193d
--- a/src/kernel/linux/v4.19/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/src/kernel/linux/v4.19/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1237,8 +1237,13 @@
#if defined(CONFIG_HW_NAT)
/* fast path FP is QDMA. default uses mac1(eth0) */
- if (mac > 1)
- mac = netif_running(eth->netdev[1]) ? 1 : 0;
+ /*Lxf modify for api-604 20220930 start*/
+ if (mac > 1) {
+ netdev = eth->netdev[1];
+ mac = (netdev && netif_running(netdev)) ?
+ eth->mac[1]->id : eth->mac[0]->id;
+ }
+ /*Lxf modify for api-604 20220930 end*/
#endif
if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT ||
!eth->netdev[mac]))
diff --git a/src/kernel/modules/netsys_driver/nat/hw_nat/hnat_common.c b/src/kernel/modules/netsys_driver/nat/hw_nat/hnat_common.c
old mode 100644
new mode 100755
index 09360ce..c4e9b0e
--- a/src/kernel/modules/netsys_driver/nat/hw_nat/hnat_common.c
+++ b/src/kernel/modules/netsys_driver/nat/hw_nat/hnat_common.c
@@ -1026,10 +1026,13 @@
}
if (debug_level >= 10)
- pr_notice("%s, send to ppe via ETH tx\n", __func__);
+/*Lxf modify for api-604 20220930 start*/
+ pr_notice("%s, send to ppe via %s tx\n", __func__, skb->dev->name);
+
- dev_queue_xmit(skb);
-
+ //dev_queue_xmit(skb);
+ skb->dev->netdev_ops->ndo_start_xmit(skb, skb->dev);
+/*Lxf modify for api-604 20220930 end*/
return 0;
}
@@ -1300,8 +1303,10 @@
if (debug_level >= 7)
pr_notice("%s, bind to cpu done if name = %s\n", __func__, skb->dev->name);
-
- dev_queue_xmit(skb);
+/*Lxf modify for api-604 20220930 start*/
+ //dev_queue_xmit(skb);
+ skb->dev->netdev_ops->ndo_start_xmit(skb, skb->dev);
+/*Lxf modify for api-604 20220930 end*/
return 0;
}