Commit 26118ed8 authored by Cedric Roux's avatar Cedric Roux

bugfix: fix cqi_req usage in UL scheduler

For retransmission, let's use cqi_req used for the 1st transmission.

Maybe incorrect, should check the specs. (In the worst case, we
simply won't decode this transmission at all. No big deal.)
parent 9565544e
...@@ -676,6 +676,9 @@ typedef struct { ...@@ -676,6 +676,9 @@ typedef struct {
/// Number of Allocated RBs for UL after scheduling /// Number of Allocated RBs for UL after scheduling
uint16_t first_rb_ul[8]; // num_max_harq uint16_t first_rb_ul[8]; // num_max_harq
/// Is CQI requested for UL after scheduling 1st transmission
uint8_t cqi_req[8]; // num_max_harq
/// Cyclic shift for DMRS after scheduling /// Cyclic shift for DMRS after scheduling
uint16_t cshift[8]; // num_max_harq uint16_t cshift[8]; // num_max_harq
......
...@@ -1624,6 +1624,7 @@ schedule_ulsch_rnti(module_id_t module_idP, ...@@ -1624,6 +1624,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
/* Store information for possible retransmission */ /* Store information for possible retransmission */
UE_template_ptr->nb_rb_ul[harq_pid] = rb_table[rb_table_index]; UE_template_ptr->nb_rb_ul[harq_pid] = rb_table[rb_table_index];
UE_template_ptr->first_rb_ul[harq_pid] = first_rb_slice[CC_id]; UE_template_ptr->first_rb_ul[harq_pid] = first_rb_slice[CC_id];
UE_template_ptr->cqi_req[harq_pid] = cqi_req;
UE_sched_ctrl_ptr->ul_scheduled |= (1 << harq_pid); UE_sched_ctrl_ptr->ul_scheduled |= (1 << harq_pid);
if (UE_id == UE_list->head) { if (UE_id == UE_list->head) {
...@@ -1811,6 +1812,7 @@ schedule_ulsch_rnti(module_id_t module_idP, ...@@ -1811,6 +1812,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
ul_req_index = 0; ul_req_index = 0;
dlsch_flag = 0; dlsch_flag = 0;
cqi_req = UE_template_ptr->cqi_req[harq_pid];
for(ul_req_index = 0; ul_req_index < ul_req_tmp_body->number_of_pdus; ul_req_index++) { for(ul_req_index = 0; ul_req_index < ul_req_tmp_body->number_of_pdus; ul_req_index++) {
if(ul_req_tmp_body->ul_config_pdu_list[ul_req_index].pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE && if(ul_req_tmp_body->ul_config_pdu_list[ul_req_index].pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE &&
......
...@@ -815,6 +815,9 @@ typedef struct { ...@@ -815,6 +815,9 @@ typedef struct {
/// Number of Allocated RBs for UL after scheduling /// Number of Allocated RBs for UL after scheduling
uint16_t first_rb_ul[8]; // num_max_harq uint16_t first_rb_ul[8]; // num_max_harq
/// Is CQI requested for UL after scheduling 1st transmission
uint8_t cqi_req[8]; // num_max_harq
/// Cyclic shift for DMRS after scheduling /// Cyclic shift for DMRS after scheduling
uint16_t cshift[8]; // num_max_harq uint16_t cshift[8]; // num_max_harq
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment