[Bugfix][DATA][API-1055][API-1067]Probabilistically, after deactivating all APNs, the reactivation fails

Change-Id: Id3302d30e84707951dd4e26d7576fee9547a30bb
(cherry picked from commit 794970967a749110c1649cbaa9881e4f880d8bbb)
diff --git a/src/lynq/framework/lynq-ril-service/src/data/data.cpp b/src/lynq/framework/lynq-ril-service/src/data/data.cpp
index 0f8d6ce..d192b37 100755
--- a/src/lynq/framework/lynq-ril-service/src/data/data.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/data/data.cpp
@@ -1116,6 +1116,7 @@
             p.writeInt32 (pRI->pCI->requestNumber);
             p.writeInt32(socket_id);
             p.writeInt32 (2);//RIL_E_GENERIC_FAILURE
+            re = deactivateDataCallarc(argc,argv,socket_id,pRI);//warren add for setup data call timeout on 20230602
             android::LYNQ_RIL_respSocket(p, (void *)pRI);
             return -1;
         }
diff --git a/src/telephonyware/3.0/libvendor-ril/mtk-rilproxy/telephony/data/RpDataController.cpp b/src/telephonyware/3.0/libvendor-ril/mtk-rilproxy/telephony/data/RpDataController.cpp
old mode 100644
new mode 100755
index 4dc7432..49281fd
--- a/src/telephonyware/3.0/libvendor-ril/mtk-rilproxy/telephony/data/RpDataController.cpp
+++ b/src/telephonyware/3.0/libvendor-ril/mtk-rilproxy/telephony/data/RpDataController.cpp
@@ -45,6 +45,7 @@
 #include "apn/RpApnController.h"
 
 #include "RfxStatusDefs.h"
+#include "RfxMainThread.h"
 #include <sys/un.h>
 #include <errno.h>
 #include <unistd.h>
@@ -488,7 +489,12 @@
     result = ss.isInService(ss.getRilDataRegState());
  
     logD(RFX_LOG_TAG, "RpDataController::isAttached, with result: %s", RpDataUtils::b2s(result).c_str());
-
+    if (!result) {
+        sp<RfxMessage> Req = RfxMessage::obtainRequest(m_slot_id,
+                RADIO_TECH_GROUP_GSM, RIL_REQUEST_DATA_REGISTRATION_STATE);
+        logD(RFX_LOG_TAG, "send RIL_REQUEST_DATA_REGISTRATION_STATE to update the NW status");
+        RfxMainThread::enqueueMessage(Req);
+    }
     return result;
 }