[Bugfix][L805A-15]The network is registered to 4G only, and after the datacall is successfully pinged through, 8004 is returned to deactivate

    Only Configure:No
    Affected branch:All
    Affected module:DATA
    Is it affected on both ZXIC and MTK: MTK
    Self-test: Yes
    Doc Update:Need

Change-Id: Ia6e2021fd2839f9e753be642a52b784c071aba64
diff --git a/common_src/framework/lynq-ril-service/src/data/data.cpp b/common_src/framework/lynq-ril-service/src/data/data.cpp
index b66072b..4b3c136 100755
--- a/common_src/framework/lynq-ril-service/src/data/data.cpp
+++ b/common_src/framework/lynq-ril-service/src/data/data.cpp
@@ -1155,13 +1155,8 @@
         RLOGD("not have any apns this has been activate int this time");
     }
     char cmd[256];
-    getCellularService();
-    findCellularName(line);
-    sprintf(cmd, "connmanctl disconnect %s", csname);
-    int ret = system(cmd);
-    memset(line, 0, LEN*sizeof(char));
-    memset(csname, 0, 27*sizeof(char));
-    updataDataConnectState(get_default_sim_data(), false);
+    
+    //xy.he modified for L805A-15 20240606 start
     p.writeInt32 (0);
     p.writeInt32(pRI->uToken);
     p.writeInt32 (pRI->pCI->requestNumber);
@@ -1169,6 +1164,15 @@
     p.writeInt32 (err_code);//RIL_E_GENERIC_FAILURE
     android::LYNQ_RIL_respSocket(p, (void *)pRI);
     /* no response from telecore, free pRI prevent memory leak */
+
+    getCellularService();
+    findCellularName(line);
+    sprintf(cmd, "connmanctl disconnect %s", csname);
+    int ret = system(cmd);
+    memset(line, 0, LEN*sizeof(char));
+    memset(csname, 0, 27*sizeof(char));
+    updataDataConnectState(get_default_sim_data(), false);
+    //xy.he modified for L805A-15 20240606 end
     if (pRI != NULL) {
         free(pRI);
     }