Merge "[Bugfix][API-1099]occasionally,setup data call fail,due to tele-fwk can not get mccmnc <new solution>" into GSW3.0-No-Connman
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;
diff --git a/src/lynq/lib/liblynq-call/lynq_call.cpp b/src/lynq/lib/liblynq-call/lynq_call.cpp
index d1e2293..1f2b28b 100755
--- a/src/lynq/lib/liblynq-call/lynq_call.cpp
+++ b/src/lynq/lib/liblynq-call/lynq_call.cpp
@@ -808,7 +808,6 @@
return LYNQ_E_CONFLICT;
}
lynq_call_hungup_all();
- lynq_set_voice_audio_mode(AUDIO_MODE_CODEC);
g_module_init_flag = MODULE_SWITCHING;
lynq_close_all_urc_socket_thread();
lynq_close_all_rc_socket_thread();