[BugFix][API-1536]After deactive_data_call timeout,clean the apn_table status
Affected branch: All
Affected module: DATA
Is it affected on both ZXIC and MTK: only MTK
Self-test: Yes
Doc Update: No
Change-Id: I1008aa886d6af2b4ddbea411e967d5bf67a5b3ff
diff --git a/common_src/lib/liblynq-data/lynq_data.cpp b/common_src/lib/liblynq-data/lynq_data.cpp
index b8865ef..06913d4 100755
--- a/common_src/lib/liblynq-data/lynq_data.cpp
+++ b/common_src/lib/liblynq-data/lynq_data.cpp
@@ -1071,6 +1071,15 @@
return error;
}
+void deactiveAfterTimeout(int apnId)
+{
+ LYDBGLOG("%s:apn id:%d",__FUNCTION__,apnId);
+ cleanDeactApn(apnId);
+ pthread_mutex_lock(&s_lynq_urc_vector_mutex);
+ s_data_urc_wait_list.push_back(apnId);
+ pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
+ sendSignalPdnChange();
+}
int lynq_deactive_data_call(int *handle)
{
Parcel *p = NULL;
@@ -1141,6 +1150,7 @@
{
error = LYNQ_E_TIME_OUT;
LYERRLOG("[lynq_deactive_data_call] timeout:wait data Call state fail!!!");
+ deactiveAfterTimeout(lynq_data_call_id);
printf_apn_table_debug(__FUNCTION__,__LINE__);
}
}