diff --git a/common/utils/hashtable/hashtable.c b/common/utils/hashtable/hashtable.c index 6322b1dea6..2c7b35744c 100644 --- a/common/utils/hashtable/hashtable.c +++ b/common/utils/hashtable/hashtable.c @@ -95,7 +95,7 @@ hash_table_t *hashtable_create(const hash_size_t sizeP, hash_size_t (*hashfuncP) * Cleanup * The hashtable_destroy() walks through the linked lists for each possible hash value, and releases the elements. It also releases the nodes array and the hash_table_t. */ -hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP) +hashtable_rc_t hashtable_destroy(hash_table_t * hashtblP) { hash_size_t n; hash_node_t *node, *oldnode; @@ -117,6 +117,7 @@ hashtable_rc_t hashtable_destroy(hash_table_t * const hashtblP) } free(hashtblP->nodes); free(hashtblP); + hashtblP=NULL; return HASH_TABLE_OK; } //------------------------------------------------------------------------------------------------------------------------------- diff --git a/common/utils/itti/intertask_interface.c b/common/utils/itti/intertask_interface.c index 66b5e9aedc..387d37d61d 100644 --- a/common/utils/itti/intertask_interface.c +++ b/common/utils/itti/intertask_interface.c @@ -470,6 +470,7 @@ int itti_send_msg_to_task(task_id_t destination_task_id, instance_t instance, Me itti_get_task_name(destination_task_id)); int result = itti_free(origin_task_id, message); AssertFatal( result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result); + return 0; #else AssertFatal(0, "Error: lfds611_queue_enqueue returns 0, queue is full, exiting\n"); #endif diff --git a/openair2/LAYER2/MAC/pre_processor.c b/openair2/LAYER2/MAC/pre_processor.c index 6277c1c69f..c0413c3411 100644 --- a/openair2/LAYER2/MAC/pre_processor.c +++ b/openair2/LAYER2/MAC/pre_processor.c @@ -637,6 +637,7 @@ void dlsch_scheduler_pre_ue_select( default: LOG_W(MAC,"Unsupported transmission mode %d\n", get_tmode(module_idP,CC_id,UE_id)); aggregation = 2; + break; } format_flag = 1; if (!CCE_allocation_infeasible(module_idP, @@ -2364,11 +2365,14 @@ void ulsch_scheduler_pre_ue_select( } // UE round >0 for ( UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++ ) { + if (UE_list->active[UE_id] == FALSE) + continue; + rnti = UE_RNTI(module_idP,UE_id); - CC_id = UE_PCCID(module_idP,UE_id); if (rnti ==NOT_A_RNTI) continue; + CC_id = UE_PCCID(module_idP,UE_id); if (UE_list->UE_template[CC_id][UE_id].configured == FALSE) continue; @@ -2472,11 +2476,18 @@ void ulsch_scheduler_pre_ue_select( } for ( UE_id = 0; UE_id < NUMBER_OF_UE_MAX; UE_id++ ) { + if (UE_list->active[UE_id] == FALSE) + continue; + rnti = UE_RNTI(module_idP,UE_id); - CC_id = UE_PCCID(module_idP,UE_id); if (rnti ==NOT_A_RNTI) continue; + CC_id = UE_PCCID(module_idP,UE_id); + + if (UE_id > last_ulsch_ue_id[CC_id]) + continue; + if (UE_list->UE_template[CC_id][UE_id].configured == FALSE) continue; @@ -2495,9 +2506,6 @@ void ulsch_scheduler_pre_ue_select( } } - if (UE_id > last_ulsch_ue_id[CC_id]) - continue; - for(i = 0;i