[Bugfix][T106BUG-23]Fixed the problem that the datacall can't active after the datacall was disconnected without urc report
Only Configure: No
Affected branch: master
Affected module: data
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: Yes
Change-Id: Id19afac8f6efd202c4e73999e1c287184345d0eb
diff --git a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
index bc7d265..71bce71 100755
--- a/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
+++ b/cap/zx297520v3/src/lynq/framework/lynq-ril-service/src/ril.cpp
@@ -4183,41 +4183,31 @@
if(e == 0)
{
RLOGD("[DATA]: deactive datacall success\n");
- for(int j = 0; j < LYNQ_APN_CHANNEL_MAX; j++)
- {
- RLOGD("lynq_apn_cid_table[j].uToken =%d, pRI->uToken = %d", lynq_apn_cid_table[j].deactive_utoken, pRI->uToken);
- if(lynq_apn_cid_table[j].used == 1 && lynq_apn_cid_table[j].deactive_utoken == pRI->uToken)
- {
- RLOGD("[DATA]delete cid is %d", lynq_apn_cid_table[j].cid);
- //delete
- bzero(lynq_apn_cid_table[j].apn,LYNQ_APN_LEN_MAX);
- bzero(lynq_apn_cid_table[j].apntype,LYNQ_APNTPYE_LEN_MAX);
- bzero(lynq_apn_cid_table[j].ifaceName,LYNQ_IFNAME_LEN_MAX);
- bzero(lynq_apn_cid_table[j].address,LYNQ_ADDRESS_LEN_MAX);
- lynq_apn_cid_table[j].cid = -1;
- lynq_apn_cid_table[j].used = -1;
- lynq_apn_cid_table[j].status = -1;
- lynq_apn_cid_table[j].dialing = -1;
- lynq_apn_cid_table[j].uToken = -1;
- lynq_apn_cid_table[j].deactive_utoken = -1;
- break;
- }
- }
}
else
{
RLOGD("[DATA]: deactive datacall fail\n");
- for(int j = 0; j < LYNQ_APN_CHANNEL_MAX; j++)
+ }
+ for(int j = 0; j < LYNQ_APN_CHANNEL_MAX; j++)
+ {
+ RLOGD("lynq_apn_cid_table[j].uToken =%d, pRI->uToken = %d", lynq_apn_cid_table[j].deactive_utoken, pRI->uToken);
+ if(lynq_apn_cid_table[j].used == 1 && lynq_apn_cid_table[j].deactive_utoken == pRI->uToken)
{
- RLOGD("lynq_apn_cid_table[j].uToken =%d, pRI->uToken = %d", lynq_apn_cid_table[j].deactive_utoken, pRI->uToken);
- if(lynq_apn_cid_table[j].used == 1 && lynq_apn_cid_table[j].deactive_utoken == pRI->uToken)
- {
- lynq_apn_cid_table[j].deactive_utoken = -1;
- break;
- }
+ RLOGD("[DATA]delete cid is %d", lynq_apn_cid_table[j].cid);
+ //delete
+ bzero(lynq_apn_cid_table[j].apn,LYNQ_APN_LEN_MAX);
+ bzero(lynq_apn_cid_table[j].apntype,LYNQ_APNTPYE_LEN_MAX);
+ bzero(lynq_apn_cid_table[j].ifaceName,LYNQ_IFNAME_LEN_MAX);
+ bzero(lynq_apn_cid_table[j].address,LYNQ_ADDRESS_LEN_MAX);
+ lynq_apn_cid_table[j].cid = -1;
+ lynq_apn_cid_table[j].used = -1;
+ lynq_apn_cid_table[j].status = -1;
+ lynq_apn_cid_table[j].dialing = -1;
+ lynq_apn_cid_table[j].uToken = -1;
+ lynq_apn_cid_table[j].deactive_utoken = -1;
+ break;
}
}
-
}
//xf.li@20231102 add for t106 data start
if(pRI->pCI->requestNumber == RIL_REQUEST_SETUP_DATA_CALL)
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
index 421383b..78fc8b2 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-data/lynq-qser-data.cpp
@@ -1596,7 +1596,7 @@
}
return LYNQ_E_NO_INIT;
}
- lynq_data_call_response_v11_t data_call_info;
+ lynq_data_call_response_v11_t data_call_info = {0};
data_call_handle_get(profile_idx,&handle);
ret = lynq_get_data_call_list(&handle,&data_call_info);
if (ret == 0)