Squashed 'LYNQ_PUBLIC/' changes from 3d04c4df6..e9b56460d
e9b56460d Merge "[BugFix][API-1536]After deactive_data_call timeout,clean the apn_table status"
7e752054d [Bugfix][T106BUG-253][ril] call lynq_get_urc_info, return 7000
fb1ab52e6 [BugFix][API-1536]After deactive_data_call timeout,clean the apn_table status
git-subtree-dir: LYNQ_PUBLIC
git-subtree-split: e9b56460d3f6dbe37ff3090fb079c53f3035b6d2
Change-Id: I5b418de99b32c4d7f8c961d20d97e8d67013d3f0
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__);
}
}
diff --git a/common_src/lib/liblynq-network/lynq_network.cpp b/common_src/lib/liblynq-network/lynq_network.cpp
index 13a2318..414fcbf 100755
--- a/common_src/lib/liblynq-network/lynq_network.cpp
+++ b/common_src/lib/liblynq-network/lynq_network.cpp
@@ -1082,7 +1082,7 @@
return LYNQ_E_CONFLICT;
}
LYDBGLOG("start get urc info");
- if(handle != RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED &&handle != RIL_UNSOL_SIGNAL_STRENGTH)
+ if(is_support_urc(handle)==false)
{
LYINFLOG("invalid handle!!!");
return LYNQ_E_PARAMETER_ANONALY;
@@ -1094,14 +1094,7 @@
return LYNQ_E_PARAMETER_ANONALY;
}
switch(handle)
- {
- case RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED: //1002
- {
- LYDBGLOG("get state update to VOICE");
- *slot_id = s_module_urc_slot_id;
- LYINFLOG("slot_id = %d",s_module_urc_slot_id);
- break;
- }
+ {
case RIL_UNSOL_SIGNAL_STRENGTH: //1009
{
LYDBGLOG("get state update to signal info");
@@ -1123,7 +1116,12 @@
solSigStren->csiSinr = s_network_urc_solSigStren.csiSinr;
break;
}
- }
+ default:
+ {
+ *slot_id = s_module_urc_slot_id;
+ LYINFLOG("slot_id = %d",s_module_urc_slot_id);
+ }
+ }
return RESULT_OK;
}