[Feature][T8TSK-234][ethernet]update link status judgment

Change-Id: Ibccf186ccf305c928f43bc014b691e98193b0299
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 2349cab..ca19b11 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
@@ -206,12 +206,26 @@
 
 static int q2110_read_status(struct phy_device *phydev)
 {
+
 	int val;
+	unsigned int regVal1, regVal2, regVal3;
 
 	phydev->duplex = 1;
 	phydev->pause = 0;
 
-	val = phy_read(phydev, Q2110_T1_AN_STATUS);
+	regVal1 = phy_read(phydev, MII_ADDR_C45 | 0x030901);
+	regVal1 = phy_read(phydev, MII_ADDR_C45 | 0x030901);
+	regVal2 = phy_read(phydev, MII_ADDR_C45 | 0x078001);
+	regVal3 = phy_read(phydev, MII_ADDR_C45 | 0x03FD9D);
+
+	phydev->link = ((0x0004U == (regVal1 & 0x0004U)) 
+			&& (0x3000U == (regVal2 & 0x3000U)) 
+			&& (0x0010U == (regVal3 & 0x0010U))) ? 1 : 0;
+	if(phydev->link == 0)
+	{
+		printk("phy_link_status down: regVal1: %x, regVal2: %x, regVal3: %x.\n",regVal1, regVal2, regVal3);
+	}
+/*	val = phy_read(phydev, Q2110_T1_AN_STATUS);
 	if (val < 0)
 		return val;
 
@@ -219,7 +233,7 @@
 		phydev->link = 1;
 	else
 		phydev->link = 0;
-
+*/
 	val = phy_read(phydev, Q2110_T1_PMA_PMD_CTRL);
 	if (val < 0)
 		return val;