Fix: uplane_inactivity_timer dose not count time correctly about TDD.(rm2174)
This commit is contained in:
@@ -506,6 +506,13 @@ check_ul_failure(module_id_t module_idP, int CC_id, int UE_id,
|
|||||||
UE_list->UE_sched_ctrl[UE_id].ul_out_of_sync = 1;
|
UE_list->UE_sched_ctrl[UE_id].ul_out_of_sync = 1;
|
||||||
}
|
}
|
||||||
} // ul_failure_timer>0
|
} // ul_failure_timer>0
|
||||||
|
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].uplane_inactivity_timer++;
|
||||||
|
if(UE_list->UE_sched_ctrl[UE_id].uplane_inactivity_timer > (U_PLANE_INACTIVITY_VALUE * 10)){
|
||||||
|
LOG_D(MAC,"UE %d rnti %x: U-Plane Failure after repeated PDCCH orders: Triggering RRC \n",UE_id,rnti);
|
||||||
|
mac_eNB_rrc_uplane_failure(module_idP,CC_id,frameP,subframeP,rnti);
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].uplane_inactivity_timer = 0;
|
||||||
|
}// time > 60s
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -717,9 +717,12 @@ schedule_ue_spec(module_id_t module_idP,
|
|||||||
eNB_UE_stats->harq_pid = harq_pid;
|
eNB_UE_stats->harq_pid = harq_pid;
|
||||||
eNB_UE_stats->harq_round = round_DL;
|
eNB_UE_stats->harq_round = round_DL;
|
||||||
|
|
||||||
|
if (eNB_UE_stats->rrc_status < RRC_RECONFIGURED) {
|
||||||
|
ue_sched_ctrl->uplane_inactivity_timer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (eNB_UE_stats->rrc_status < RRC_CONNECTED) {
|
if (eNB_UE_stats->rrc_status < RRC_CONNECTED) {
|
||||||
LOG_D(MAC, "UE %d is not in RRC_CONNECTED\n",
|
LOG_D(MAC, "UE %d is not in RRC_CONNECTED\n", UE_id);
|
||||||
UE_id);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1001,6 +1001,10 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
|
|||||||
UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid;
|
UE_list->eNB_UE_stats[CC_id][UE_id].harq_pid = harq_pid;
|
||||||
UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round;
|
UE_list->eNB_UE_stats[CC_id][UE_id].harq_round = round;
|
||||||
|
|
||||||
|
if (UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status < RRC_RECONFIGURED) {
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].uplane_inactivity_timer = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status <
|
if (UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status <
|
||||||
RRC_CONNECTED)
|
RRC_CONNECTED)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -797,6 +797,10 @@ rx_sdu(const module_id_t enb_mod_idP,
|
|||||||
mac_rlc_data_ind(enb_mod_idP, current_rnti, enb_mod_idP, frameP, ENB_FLAG_YES, MBMS_FLAG_NO, rx_lcids[i], (char *) payload_ptr, rx_lengths[i], 1, NULL); //(unsigned int*)crc_status);
|
mac_rlc_data_ind(enb_mod_idP, current_rnti, enb_mod_idP, frameP, ENB_FLAG_YES, MBMS_FLAG_NO, rx_lcids[i], (char *) payload_ptr, rx_lengths[i], 1, NULL); //(unsigned int*)crc_status);
|
||||||
UE_list->eNB_UE_stats[CC_idP][UE_id].num_pdu_rx[rx_lcids[i]] += 1;
|
UE_list->eNB_UE_stats[CC_idP][UE_id].num_pdu_rx[rx_lcids[i]] += 1;
|
||||||
UE_list->eNB_UE_stats[CC_idP][UE_id].num_bytes_rx[rx_lcids[i]] += rx_lengths[i];
|
UE_list->eNB_UE_stats[CC_idP][UE_id].num_bytes_rx[rx_lcids[i]] += rx_lengths[i];
|
||||||
|
|
||||||
|
if (mac_eNB_get_rrc_status(enb_mod_idP, current_rnti) < RRC_RECONFIGURED) {
|
||||||
|
UE_list->UE_sched_ctrl[UE_id].uplane_inactivity_timer = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user