bugfix: fix handle_ulsch_harq_pdu
we can't use &ul_config_pdu->ulsch_harq_pdu.harq_information directly, because that function is called for 2 cases and the substructure harq_information is not as the same position in both cases.
This commit is contained in:
@@ -239,13 +239,18 @@ void handle_nfapi_dlsch_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
|
|
||||||
uint16_t to_beta_offset_harqack[16]={16,20,25,32,40,50,64,80,101,127,160,248,400,640,1008,8};
|
uint16_t to_beta_offset_harqack[16]={16,20,25,32,40,50,64,80,101,127,160,248,400,640,1008,8};
|
||||||
|
|
||||||
void handle_ulsch_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t *ul_config_pdu,uint16_t frame,uint8_t subframe)
|
void handle_ulsch_harq_pdu(
|
||||||
|
PHY_VARS_eNB *eNB,
|
||||||
|
int UE_id,
|
||||||
|
nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
||||||
|
nfapi_ul_config_ulsch_harq_information *harq_information,
|
||||||
|
uint16_t frame,
|
||||||
|
uint8_t subframe)
|
||||||
{
|
{
|
||||||
nfapi_ul_config_ulsch_pdu_rel8_t *rel8 = &ul_config_pdu->ulsch_harq_pdu.ulsch_pdu.ulsch_pdu_rel8;
|
nfapi_ul_config_ulsch_pdu_rel8_t *rel8 = &ul_config_pdu->ulsch_harq_pdu.ulsch_pdu.ulsch_pdu_rel8;
|
||||||
|
|
||||||
LTE_eNB_ULSCH_t *ulsch=eNB->ulsch[UE_id];
|
LTE_eNB_ULSCH_t *ulsch=eNB->ulsch[UE_id];
|
||||||
LTE_UL_eNB_HARQ_t *ulsch_harq;
|
LTE_UL_eNB_HARQ_t *ulsch_harq;
|
||||||
nfapi_ul_config_ulsch_harq_information *harq_information = &ul_config_pdu->ulsch_harq_pdu.harq_information;
|
|
||||||
|
|
||||||
int harq_pid = rel8->harq_process_number;
|
int harq_pid = rel8->harq_process_number;
|
||||||
ulsch_harq = ulsch->harq_processes[harq_pid];
|
ulsch_harq = ulsch->harq_processes[harq_pid];
|
||||||
@@ -496,7 +501,8 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
"No available UE ULSCH for rnti %x\n",ul_config_pdu->ulsch_harq_pdu.ulsch_pdu.ulsch_pdu_rel8.rnti);
|
"No available UE ULSCH for rnti %x\n",ul_config_pdu->ulsch_harq_pdu.ulsch_pdu.ulsch_pdu_rel8.rnti);
|
||||||
|
|
||||||
fill_ulsch(eNB,&ul_config_pdu->ulsch_harq_pdu.ulsch_pdu,frame,subframe);
|
fill_ulsch(eNB,&ul_config_pdu->ulsch_harq_pdu.ulsch_pdu,frame,subframe);
|
||||||
handle_ulsch_harq_pdu(eNB,UE_id,ul_config_pdu,frame,subframe);
|
handle_ulsch_harq_pdu(eNB, UE_id, ul_config_pdu,
|
||||||
|
&ul_config_pdu->ulsch_harq_pdu.harq_information, frame, subframe);
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE) {
|
else if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE) {
|
||||||
@@ -513,7 +519,8 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
"No available UE ULSCH for rnti %x\n",ul_config_pdu->ulsch_cqi_harq_ri_pdu.ulsch_pdu.ulsch_pdu_rel8.rnti);
|
"No available UE ULSCH for rnti %x\n",ul_config_pdu->ulsch_cqi_harq_ri_pdu.ulsch_pdu.ulsch_pdu_rel8.rnti);
|
||||||
fill_ulsch(eNB,&ul_config_pdu->ulsch_cqi_harq_ri_pdu.ulsch_pdu,frame,subframe);
|
fill_ulsch(eNB,&ul_config_pdu->ulsch_cqi_harq_ri_pdu.ulsch_pdu,frame,subframe);
|
||||||
handle_ulsch_cqi_harq_ri_pdu(eNB,UE_id,ul_config_pdu,frame,subframe);
|
handle_ulsch_cqi_harq_ri_pdu(eNB,UE_id,ul_config_pdu,frame,subframe);
|
||||||
handle_ulsch_harq_pdu(eNB,UE_id,ul_config_pdu,frame,subframe);
|
handle_ulsch_harq_pdu(eNB, UE_id, ul_config_pdu,
|
||||||
|
&ul_config_pdu->ulsch_cqi_harq_ri_pdu.harq_information, frame, subframe);
|
||||||
}
|
}
|
||||||
else if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE) {
|
else if (ul_config_pdu->pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE) {
|
||||||
AssertFatal((UE_id = find_uci(ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti,
|
AssertFatal((UE_id = find_uci(ul_config_pdu->uci_harq_pdu.ue_information.ue_information_rel8.rnti,
|
||||||
|
|||||||
@@ -56,7 +56,13 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
|
|||||||
nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
||||||
uint16_t frame,uint8_t subframe,uint8_t srs_present);
|
uint16_t frame,uint8_t subframe,uint8_t srs_present);
|
||||||
|
|
||||||
void handle_ulsch_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t *ul_config_pdu,uint16_t frame,uint8_t subframe);
|
void handle_ulsch_harq_pdu(
|
||||||
|
PHY_VARS_eNB *eNB,
|
||||||
|
int UE_id,
|
||||||
|
nfapi_ul_config_request_pdu_t *ul_config_pdu,
|
||||||
|
nfapi_ul_config_ulsch_harq_information *harq_information,
|
||||||
|
uint16_t frame,
|
||||||
|
uint8_t subframe);
|
||||||
|
|
||||||
void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t *ul_config_pdu,uint16_t frame,uint8_t subframe);
|
void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu_t *ul_config_pdu,uint16_t frame,uint8_t subframe);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user