diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c index c3cb968053ce7118ee810040f4e569d8d7231c73..6d3044813c3293f4af6d98e020e9c1f860b2f6ef 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c @@ -674,11 +674,16 @@ void schedule_ulsch(module_id_t module_idP, * We need to get the information from config/phy/wherever * as done in the commented code below. * For the moment, we hardcode for the config used by default. - * Only tested with FDD. + * Only deals with FDD, PRACH config 0. */ - int frame_ul = (frameP + (subframeP >= 6)) & 1023; - int subframe_ul = (subframeP + 4) % 10; - if ((frame_ul & 1) == 0 && subframe_ul == 1) first_rb[CC_id] = 8; + LTE_DL_FRAME_PARMS *frame_parms; + frame_parms = mac_xface->get_lte_frame_parms(module_idP,CC_id); + if (frame_parms->frame_type == FDD && + frame_parms->prach_config_common.prach_ConfigInfo.prach_ConfigIndex == 0) { + int frame_ul = (frameP + (subframeP >= 6)) & 1023; + int subframe_ul = (subframeP + 4) % 10; + if ((frame_ul & 1) == 0 && subframe_ul == 1) first_rb[CC_id] = 8; + } /* if (mac_xface->is_prach_subframe(&(mac_xface->lte_frame_parms),frameP,subframeP)) {