Merge remote-tracking branch 'origin/fix_wrong_nrue_bsr' into integration_2025_w39 (!3653)
NR UE: in nr_ue_scheduler.c set LCID_buffer_remain to 0 if RLC indicates not more bytes in buffer If the RLC indicates that there is no more data in the buffer, also the scheduler's LCID_buffer_remain should be set to 0. Else the UE sends BSR indicating it has data to be transmitted. The gNB would then unnecessarily schedule UL for this UE, which would not be used, as there is no actual data to be transmitted.
This commit is contained in:
@@ -1299,8 +1299,8 @@ static void nr_update_rlc_buffers_status(NR_UE_MAC_INST_t *mac, frame_t frameP,
|
||||
rlc_status.bytes_in_buffer,
|
||||
frameP,
|
||||
slotP);
|
||||
lc_sched_info->LCID_buffer_remain = rlc_status.bytes_in_buffer;
|
||||
}
|
||||
lc_sched_info->LCID_buffer_remain = rlc_status.bytes_in_buffer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1331,6 +1331,8 @@ static void nr_update_bsr(NR_UE_MAC_INST_t *mac, uint32_t *LCG_bytes)
|
||||
bool bsr_regular_triggered = mac->scheduling_info.BSR_reporting_active & NR_BSR_TRIGGER_REGULAR;
|
||||
for (int i = 0; i < mac->lc_ordered_list.count; i++) {
|
||||
nr_lcordered_info_t *lc_info = mac->lc_ordered_list.array[i];
|
||||
if (lc_info->rb_suspended)
|
||||
continue;
|
||||
int lcid = lc_info->lcid;
|
||||
NR_LC_SCHEDULING_INFO *lc_sched_info = get_scheduling_info_from_lcid(mac, lcid);
|
||||
int lcgid = lc_sched_info->LCGID;
|
||||
|
||||
Reference in New Issue
Block a user