From 1a472e4c0b5a1bcb355be4a419659f2fb1adc48a Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Tue, 7 Oct 2025 18:04:46 +0200 Subject: [PATCH] Msg3 retx: check that current slot is DL The code only checked that Msg3 would be scheduled during UL, but in some combinations, e.g., with DSUUU, the current slot can very well be UL as well => we would schedule DCI in UL slot. --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c index 715feb5b33..5e9cd47a79 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c @@ -805,7 +805,7 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP, const int sched_frame = (frame + (slot + K2) / slots_frame) % MAX_FRAME_NUMBER; const int sched_slot = (slot + K2) % slots_frame; - if (is_ul_slot(sched_slot, &nr_mac->frame_structure)) { + if (is_dl_slot(slot, &nr_mac->frame_structure) && is_ul_slot(sched_slot, &nr_mac->frame_structure)) { NR_beam_alloc_t beam_ul = beam_allocation_procedure(&nr_mac->beam_info, sched_frame, sched_slot, UE->UE_beam_index, slots_frame); if (beam_ul.idx < 0) return;