[Bugfix][API-680]It takes a long time for ethernet from wakeup to ping through
Change-Id: I25882c91c8f6d20eea4fbde076c465d58ca5b33b
diff --git a/src/kernel/linux/v4.19/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/src/kernel/linux/v4.19/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index b34725d..4eea54a 100644
--- a/src/kernel/linux/v4.19/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/src/kernel/linux/v4.19/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -4764,12 +4764,13 @@
if(err < 0)
dev_err(priv->device, "clk_ptp_ref enable failed");
}
+//lxf modify for API-680 2022/11/28 start
/* reset the phy so that it's ready */
- if (priv->mii) {
+ /*if (priv->mii) {
stmmac_mdio_reset(priv->mii);
phy_init_hw(priv->dev->phydev);
- }
-
+ }*/
+//lxf modify for API-680 2022/11/28 end
if (priv->plat->phy_intr_irq > 0 && priv->phy_wolopts) {
disable_irq_wake(priv->plat->phy_intr_irq);
err = phy_ethtool_set_wol(priv->dev->phydev, &wol);
@@ -4779,7 +4780,9 @@
!!wol.wolopts);
}
}
-
+//lxf modify for API-680 2022/11/28 start
+ if (ndev->phydev)
+ phy_start(ndev->phydev);
mutex_lock(&priv->lock);
stmmac_reset_queues_param(priv);
@@ -4795,8 +4798,8 @@
mutex_unlock(&priv->lock);
- if (ndev->phydev)
- phy_start(ndev->phydev);
+
+//lxf modify for API-680 2022/11/28 end
netif_device_attach(ndev);
return 0;
diff --git a/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c b/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
index 467f4ae..5155af3 100755
--- a/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
+++ b/src/kernel/linux/v4.19/drivers/net/phy/marvell-88q.c
@@ -240,8 +240,8 @@
printk("phy awake start\n");
gpio_direction_output(7 + 268, 1);
udelay(1100);
- gpio_direction_output(26 + 268, 1);
gpio_direction_output(7 + 268, 0);
+ gpio_direction_output(26 + 268, 1);
if_suspend = 0;
}
else