Commit 8daa79d4 authored by Thomas Schlichter's avatar Thomas Schlichter

fix limited UL data throughput in do-ra mode

In case of noS1-mode, we initialize the 'logicalChannelBearer_exist' array element for the pre-configured DRB0 in function 'nr_l2_init_ue()'.
That array is indexed with the LCID.
For DRB0, the LCID is 4.
Unfortunately, the code incorrectly used the array at index 0.
Therefore, the UE sent neither scheduling requests nor buffer status reports, what resulted in extremely poor UL throughput.
parent da6e4a17
...@@ -65,7 +65,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) { ...@@ -65,7 +65,7 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst) {
if (IS_SOFTMODEM_NOS1){ if (IS_SOFTMODEM_NOS1){
pdcp_layer_init(); pdcp_layer_init();
nr_DRB_preconfiguration(nr_ue_mac_inst->crnti); nr_DRB_preconfiguration(nr_ue_mac_inst->crnti);
nr_ue_mac_inst->logicalChannelBearer_exist[0] = true; nr_ue_mac_inst->logicalChannelBearer_exist[4] = true; // DRB0 has LCID 4
} }
// Allocate memory for ul_config_request in the mac instance. This is now a pointer and will // Allocate memory for ul_config_request in the mac instance. This is now a pointer and will
// point to a list of structures (one for each UL slot) to store PUSCH scheduling parameters // point to a list of structures (one for each UL slot) to store PUSCH scheduling parameters
......
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