diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c index ea1caf53a9b6fea25e3c7bc47ffbe1561e4ad27b..6d1be4c4e69a099def76874c0a6ec8ce3383c487 100644 --- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c +++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c @@ -370,7 +370,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP); fill_rar_br(eNB,CC_idP,RA_template,frameP,subframeP,cc[CC_idP].RAR_pdu.payload,RA_template->rach_resource_type-1); // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<3)+subframeP; + eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble TX_req->pdu_index = eNB->pdu_index[CC_idP]++; @@ -464,7 +464,7 @@ void generate_Msg2(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t add_msg3(module_idP,CC_idP, RA_template,frameP,subframeP); // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<3)+subframeP; + eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = 7; // This should be changed if we have more than 1 preamble TX_req->pdu_index = eNB->pdu_index[CC_idP]++; @@ -758,7 +758,7 @@ void generate_Msg4(module_id_t module_idP,int CC_idP,frame_t frameP,sub_frame_t rrc_sdu_length); // DL request - eNB->TX_req[CC_idP].sfn_sf = (frameP<<3)+subframeP; + eNB->TX_req[CC_idP].sfn_sf = (frameP<<4)+subframeP; TX_req = &eNB->TX_req[CC_idP].tx_request_body.tx_pdu_list[eNB->TX_req[CC_idP].tx_request_body.number_of_pdus]; TX_req->pdu_length = rrc_sdu_length; TX_req->pdu_index = eNB->pdu_index[CC_idP]++; diff --git a/openair2/PHY_INTERFACE/IF_Module.c b/openair2/PHY_INTERFACE/IF_Module.c index 1deb950331715a227f96af9cab7a095f325a1b0b..d5398f1aac331ea3507e200c1e60c686f0580787 100644 --- a/openair2/PHY_INTERFACE/IF_Module.c +++ b/openair2/PHY_INTERFACE/IF_Module.c @@ -193,14 +193,14 @@ void UL_indication(UL_IND_t *UL_info) if (ifi->CC_mask == ((1<<MAX_NUM_CCs)-1)) { eNB_dlsch_ulsch_scheduler(module_id, - UL_info->frame+((UL_info->subframe>5)?1:0), + (UL_info->frame+((UL_info->subframe>5)?1:0)) % 1024, (UL_info->subframe+4)%10); ifi->CC_mask = 0; sched_info->module_id = module_id; sched_info->CC_id = CC_id; - sched_info->frame = UL_info->frame + ((UL_info->subframe>5) ? 1 : 0); + sched_info->frame = (UL_info->frame + ((UL_info->subframe>5) ? 1 : 0)) % 1024; sched_info->subframe = (UL_info->subframe+4)%10; sched_info->DL_req = &mac->DL_req[CC_id]; sched_info->HI_DCI0_req = &mac->HI_DCI0_req[CC_id];