Commit d7cddc28 authored by Louis Adrien Dufrene's avatar Louis Adrien Dufrene

Bug fix of drx_config == PrNothing is now handled. Bug fix for dci0_ongoing...

Bug fix of drx_config == PrNothing is now handled. Bug fix for dci0_ongoing not working. To investigate
parent 4c931888
......@@ -1044,7 +1044,7 @@ void eNB_Config_Local_DRX(
/* Check drx_Configuration */
if (drx_Configuration == NULL) {
LOG_E(MAC, "drx_Configuration parameter is NULL, cannot configure local UE parameters\n");
LOG_I(MAC, "drx_Configuration parameter is NULL, cannot configure local UE parameters\n");
UE_scheduling_control->cdrx_configured = FALSE;
return;
......
......@@ -799,11 +799,11 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
/* END VCD */
/* DCI0 ongoing timer */
if (UE_scheduling_control->dci0_ongoing_timer > 1) {
UE_scheduling_control->dci0_ongoing_timer++;
if (UE_scheduling_control->dci0_ongoing_timer > 3) {
if (UE_scheduling_control->dci0_ongoing_timer > 0) {
if (UE_scheduling_control->dci0_ongoing_timer > 7) {
UE_scheduling_control->dci0_ongoing_timer = 0;
} else {
UE_scheduling_control->dci0_ongoing_timer++;
}
}
......
......@@ -4953,7 +4953,9 @@ SR_indication(module_id_t mod_idP,
if (UE_id != -1) {
UE_scheduling_ctrl = &(UE_list->UE_sched_ctrl[UE_id]);
if ((UE_scheduling_ctrl->cdrx_configured == TRUE) && (UE_scheduling_ctrl->dci0_ongoing_timer > 0)) {
if ((UE_scheduling_ctrl->cdrx_configured == TRUE) &&
(UE_scheduling_ctrl->dci0_ongoing_timer > 4) &&
(UE_scheduling_ctrl->dci0_ongoing_timer < 8)) {
LOG_D(MAC, "[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d. \
The SR is not set do to ongoing DCI0 with CDRX activated\n",
mod_idP,
......@@ -4961,7 +4963,7 @@ SR_indication(module_id_t mod_idP,
frameP,
subframeP,
UE_id,
cc_idP);)
cc_idP);
} else {
if (mac_eNB_get_rrc_status(mod_idP, UE_RNTI(mod_idP, UE_id)) < RRC_CONNECTED) {
LOG_D(MAC, "[eNB %d][SR %x] Frame %d subframeP %d Signaling SR for UE %d on CC_id %d\n",
......
......@@ -241,6 +241,9 @@ rx_sdu(const module_id_t enb_mod_idP,
* Note: in case of asynchronous UL HARQ process restart here relevant RTT timer.
* Start corresponding CDRX ULRetransmission timer.
*/
unsigned long active_time_condition = 10;
VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME(VCD_SIGNAL_DUMPER_VARIABLES_DRX_ACTIVE_TIME_CONDITION, (unsigned long) active_time_condition);
}
first_rb = UE_template_ptr->first_rb_ul[harq_pid];
......
......@@ -344,6 +344,10 @@ LTE_DRX_Config_t *do_DrxConfig(uint8_t Mod_id,
} else LOG_W(RRC,"[do_DrxConfig] No featureGroupIndicators pointer\n");
} else LOG_W(RRC,"[do_DrxConfig] No UEcap pointer\n");
if (configuration->radioresourceconfig[CC_id].drx_Config_present == LTE_DRX_Config_PR_NOTHING) {
return NULL;
}
drxConfig = (LTE_DRX_Config_t *) malloc(sizeof(LTE_DRX_Config_t));
if (drxConfig == NULL) return NULL;
memset(drxConfig, 0, sizeof(LTE_DRX_Config_t));
......@@ -355,7 +359,6 @@ LTE_DRX_Config_t *do_DrxConfig(uint8_t Mod_id,
drxConfig->present = configuration->radioresourceconfig[CC_id].drx_Config_present;
}
if (drxConfig->present != LTE_DRX_Config_PR_NOTHING) {
if (drxConfig->present == LTE_DRX_Config_PR_release) {
drxConfig->choice.release = (NULL_t) 0;
} else {
......@@ -426,7 +429,7 @@ LTE_DRX_Config_t *do_DrxConfig(uint8_t Mod_id,
drxConfig->choice.setup.shortDRX->drxShortCycleTimer = configuration->radioresourceconfig[CC_id].drx_shortDrx_ShortCycleTimer;
}
}
}
return drxConfig;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment