[Bugfix][DATA][API-1055][API-1067]Probabilistically, after deactivating all APNs, the reactivation fails
Change-Id: Id3302d30e84707951dd4e26d7576fee9547a30bb
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 b80a565..e286840
--- 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>
@@ -521,7 +522,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;
}