Merge remote-tracking branch 'origin/bugfix_multiple_carriers_mobipass' into develop_integration_w19
This commit is contained in:
@@ -520,25 +520,27 @@ schedule_ue_spec(
|
||||
// mac_xface->macphy_exit("[MAC][eNB] Cannot find eNB_UE_stats\n");
|
||||
continue_flag=1;
|
||||
}
|
||||
|
||||
switch(mac_xface->get_transmission_mode(module_idP,CC_id,rnti)){
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
aggregation = get_aggregation(get_bw_index(module_idP,CC_id),
|
||||
|
||||
if (continue_flag != 1){
|
||||
switch(mac_xface->get_transmission_mode(module_idP,CC_id,rnti)){
|
||||
case 1:
|
||||
case 2:
|
||||
case 7:
|
||||
aggregation = get_aggregation(get_bw_index(module_idP,CC_id),
|
||||
eNB_UE_stats->DL_cqi[0],
|
||||
format1);
|
||||
break;
|
||||
case 3:
|
||||
aggregation = get_aggregation(get_bw_index(module_idP,CC_id),
|
||||
break;
|
||||
case 3:
|
||||
aggregation = get_aggregation(get_bw_index(module_idP,CC_id),
|
||||
eNB_UE_stats->DL_cqi[0],
|
||||
format2A);
|
||||
break;
|
||||
default:
|
||||
LOG_W(MAC,"Unsupported transmission mode %d\n", mac_xface->get_transmission_mode(module_idP,CC_id,rnti));
|
||||
aggregation = 2;
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
LOG_W(MAC,"Unsupported transmission mode %d\n", mac_xface->get_transmission_mode(module_idP,CC_id,rnti));
|
||||
aggregation = 2;
|
||||
}
|
||||
} /* if (continue_flag != 1 */
|
||||
|
||||
if ((ue_sched_ctl->pre_nb_available_rbs[CC_id] == 0) || // no RBs allocated
|
||||
CCE_allocation_infeasible(module_idP,CC_id,0,subframeP,aggregation,rnti)
|
||||
) {
|
||||
|
||||
@@ -66,14 +66,29 @@
|
||||
*/
|
||||
|
||||
/* this function checks that get_eNB_UE_stats returns
|
||||
* a non-NULL pointer for all CCs for a given UE
|
||||
* a non-NULL pointer for all the active CCs of an UE
|
||||
*/
|
||||
int phy_stats_exist(module_id_t Mod_id, int rnti)
|
||||
{
|
||||
int CC_id;
|
||||
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++)
|
||||
int i;
|
||||
int UE_id = find_UE_id(Mod_id, rnti);
|
||||
UE_list_t *UE_list = &eNB_mac_inst[Mod_id].UE_list;
|
||||
if (UE_id == -1) {
|
||||
LOG_W(MAC, "[eNB %d] UE %x not found, should be there (in phy_stats_exist)\n",
|
||||
Mod_id, rnti);
|
||||
return 0;
|
||||
}
|
||||
if (UE_list->numactiveCCs[UE_id] == 0) {
|
||||
LOG_W(MAC, "[eNB %d] UE %x has no active CC (in phy_stats_exist)\n",
|
||||
Mod_id, rnti);
|
||||
return 0;
|
||||
}
|
||||
for (i = 0; i < UE_list->numactiveCCs[UE_id]; i++) {
|
||||
CC_id = UE_list->ordered_CCids[i][UE_id];
|
||||
if (mac_xface->get_eNB_UE_stats(Mod_id, CC_id, rnti) == NULL)
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user