Merge "[Bugfix][T106BUG-548] Modify the fscheck.sh script to adjust the order of mount and reboot"
diff --git a/ap/app/Script/scripts/wan_ipv4.sh b/ap/app/Script/scripts/wan_ipv4.sh
index 0473738..687e65a 100755
--- a/ap/app/Script/scripts/wan_ipv4.sh
+++ b/ap/app/Script/scripts/wan_ipv4.sh
@@ -236,8 +236,9 @@
 	#if [ "-$c_id" == "-0" -o "-$c_id" == "-$def_cid" ]; then
 		#echo 0 > /proc/sys/net/ipv4/ip_forward
 	#fi
-	
-	ifconfig $wan_if 0.0.0.0 2>>$test_log
+	#xf.li@20240228 delete for T106BUG-520 start
+	#ifconfig $wan_if 0.0.0.0 2>>$test_log
+	#xf.li@20240228 delete for T106BUG-520 end
 	if [ $? -ne 0 ];then
 	    echo "Error: ifconfig $wan_if 0.0.0.0 failed." >> $test_log
     fi
diff --git a/ap/app/zte_comm/at_ctl/src/atctrl/at_rcvmsg.c b/ap/app/zte_comm/at_ctl/src/atctrl/at_rcvmsg.c
index a40fd61..94c081f 100755
--- a/ap/app/zte_comm/at_ctl/src/atctrl/at_rcvmsg.c
+++ b/ap/app/zte_comm/at_ctl/src/atctrl/at_rcvmsg.c
@@ -898,7 +898,7 @@
 			ptr = PsmIndAtCmdPrefix;

 			while(NULL != (ptr1 =  at_strstr(ptr, temp_prefix)))

 			{

-				len_start += (int)(ptr1-PsmIndAtCmdPrefix);

+				len_start = (int)(ptr1-PsmIndAtCmdPrefix);//jb.qi change for while list SMS cant resume on 20240223

 				len_end = len_start+strlen(temp_prefix);

 				if(0 == len_start){

 					if(!isdigit(PsmIndAtCmdPrefix[len_end]) && !isalpha(PsmIndAtCmdPrefix[len_end])){

diff --git a/ap/app/zte_comm/zte_mainctrl/netdev_proc.c b/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
index 1715310..241ad2c 100755
--- a/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
+++ b/ap/app/zte_comm/zte_mainctrl/netdev_proc.c
@@ -1138,8 +1138,10 @@
 	snprintf(cmd, sizeof(cmd),"ifconfig %s down", wan_name);
 	system_cmd_ex(cmd);
 	//ifconfig ip
-	snprintf(cmd, sizeof(cmd),"ifconfig %s 0.0.0.0 down", wan_name);
-	system_cmd_ex(cmd);
+	//xf.li@20240228 delete for T106BUG-520 start
+	//snprintf(cmd, sizeof(cmd),"ifconfig %s 0.0.0.0 down", wan_name);
+	//system_cmd_ex(cmd);
+	//xf.li@20240228 delete for T106BUG-520 end
 
 	sc_cfg_get("default_wan_name", default_wan_name, sizeof(default_wan_name));
 	sc_cfg_get("default_wan6_name", default_wan6_name, sizeof(default_wan6_name));
diff --git a/ap/app/zte_mdl/zte_mdl.c b/ap/app/zte_mdl/zte_mdl.c
index 1142fb0..e3d50ce 100755
--- a/ap/app/zte_mdl/zte_mdl.c
+++ b/ap/app/zte_mdl/zte_mdl.c
@@ -88,7 +88,9 @@
 }
 void wlan_entry(char *arg)
 {
+#if (defined _USE_VEHICLE_DC_REF)&&(defined _USE_VEHICLE_DC_REF_MMC0) //jb.qi add for wifi config on 20240301
 	wlan_main(0,NULL);
+#endif
 	return;
 }
 void fota_dm_entry(char *arg)
diff --git a/ap/build/libps_libs.mk b/ap/build/libps_libs.mk
index 1283364..3d23159 100755
--- a/ap/build/libps_libs.mk
+++ b/ap/build/libps_libs.mk
@@ -135,6 +135,9 @@
 
 ifeq ($(USE_VEHICLE_DC_REF),yes)
 KERNEL_EXT_CFLAGS   += -D_USE_VEHICLE_DC_REF
+#jb.qi add for wifi config on 20240301 start
+#KERNEL_EXT_CFLAGS   += -D_USE_VEHICLE_DC_REF_MMC0
+#jb.qi add for wifi config on 20240301 end
 endif
 
 KERNEL_EXT_CFLAGS   += -DDDR_BASE_ADDR_LINUX_VA
@@ -177,4 +180,4 @@
 
 ifeq ($(ALSA_CODEC_IN_CAP),yes)
 KERNEL_EXT_CFLAGS += -D_ALSA_CODEC_IN_CAP
-endif
\ No newline at end of file
+endif
diff --git a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
index ad47afa..3e5ab07 100755
--- a/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
+++ b/cap/zx297520v3/sources/meta-zxic/recipes-kernel/linux/files/zx297520v3/linux-5_10-vehicle_dc_ref-normal-defconfig
@@ -1398,6 +1398,9 @@
 CONFIG_MDIO_BUS=y
 CONFIG_OF_MDIO=y
 CONFIG_MDIO_DEVRES=y
+# zw.wang Customer chooses phy c22/c45 issues on 20240301 start
+CONFIG_MDIO_C45=y
+# zw.wang Customer chooses phy c22/c45 issues on 20240301 end
 # CONFIG_MDIO_BITBANG is not set
 # CONFIG_MDIO_BCM_UNIMAC is not set
 # CONFIG_MDIO_HISI_FEMAC is not set
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/ethernet/zte/zx29_gmac.c b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/ethernet/zte/zx29_gmac.c
index 556f9c4..797ec4d 100644
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/ethernet/zte/zx29_gmac.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/ethernet/zte/zx29_gmac.c
@@ -1647,7 +1647,7 @@
 	ret = gpio_request(prv->gpio_power[0], "gmac_power"); /* gpio 83/124 */

 	gpio_direction_output(prv->gpio_power[0], 1);

 	mdelay(15);

-#ifdef _USE_VEHICLE_DC_REF

+#ifdef CONFIG_MDIO_C45 //zw.wang Customer chooses phy c22/c45 issues on 20240301
 	prv->gpio_power[1] = of_get_gpio_flags(pdev->dev.of_node, 1, &flags);

 	ret = gpio_request(prv->gpio_power[1], "phy_rst"); /* gpio 63 */

 	gpio_direction_output(prv->gpio_power[1], 0);

@@ -1854,7 +1854,7 @@
 		free_netdev(ndev);

 	    platform_set_drvdata(pdev, NULL);

 

-#ifdef _USE_VEHICLE_DC_REF

+#ifdef CONFIG_MDIO_C45 //zw.wang Customer chooses phy c22/c45 issues on 20240301
 		gpio_free(priv->gpio_power[1]);

 #endif

 		gpio_direction_output(priv->gpio_power[0], 0);

diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/Kconfig b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/Kconfig
index 7db7c8c..a0bf99d 100644
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/Kconfig
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/Kconfig
@@ -314,6 +314,13 @@
 	  the Reduced Gigabit Media Independent Interface(RGMII) between
 	  Ethernet physical media devices and the Gigabit Ethernet controller.
 
+# zw.wang Customer chooses phy c22/c45 issues on 20240301 start
+config MDIO_C45
+	bool "Switch between c22 and c45"
+	default n
+	help
+	  It is disabled by default. The value is C45 if yes, and C22 if N.
+# zw.wang Customer chooses phy c22/c45 issues on 20240301 end
 endif # PHYLIB
 
 config MICREL_KS8995MA
diff --git a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/phy_device.c b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/phy_device.c
index da7365f..a868814 100644
--- a/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/phy_device.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/linux-5.10/drivers/net/phy/phy_device.c
@@ -793,7 +793,7 @@
 
 	/* Grab the bits from PHYIR1, and put them in the upper half */
 //	phy_reg = mdiobus_read(bus, addr, MII_PHYSID1);
-#ifdef _USE_VEHICLE_DC_REF
+#ifdef CONFIG_MDIO_C45 //zw.wang Customer chooses phy c22/c45 issues on 20240301
     mdiobus_write(bus, addr, 0x0d, 1);
     mdiobus_write(bus, addr, 0x0e, 2);
     mdiobus_write(bus, addr, 0x0d, 0x4000 | 1);
@@ -810,7 +810,7 @@
 
 	/* Grab the bits from PHYIR2, and put them in the lower half */
 //	phy_reg = mdiobus_read(bus, addr, MII_PHYSID2);
-#ifdef _USE_VEHICLE_DC_REF	
+#ifdef CONFIG_MDIO_C45	
     mdiobus_write(bus, addr, 0x0d, 1);
     mdiobus_write(bus, addr, 0x0e, 3);
     mdiobus_write(bus, addr, 0x0d, 0x4000 | 1);
@@ -825,7 +825,7 @@
 
 	*phy_id |= phy_reg;
 
-#ifdef _USE_VEHICLE_DC_REF	
+#ifdef CONFIG_MDIO_C45	
     printk("[%s] read with c45 phy id:0x%x\n", __func__, *phy_id);
 #else
     printk("[%s] read with c22 phy id:0x%x\n", __func__, *phy_id);
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_mm.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_mm.c
index 7bbbb3f..84375d3 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_mm.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_mm.c
@@ -1501,7 +1501,12 @@
 

 	err = at_send_command_singleline("AT+ZEMSCIQ?", "+ZEMSCIQ:", &p_response);

 	if (err < 0 || p_response->success == 0) {

-		RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);

+		//xy.he add for T106BUG-545 start

+		if(NULL!=t)

+		{

+			RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);

+		}

+		//xy.he add for T106BUG-545 end

 		at_response_free(p_response);

 		return;

 	}