From 705c6b76d2c633908b6be6c707fc436e1995c2b7 Mon Sep 17 00:00:00 2001 From: luis_pereira87 <lpereira@allbesmart.pt> Date: Mon, 17 Oct 2022 11:58:51 +0100 Subject: [PATCH] gNB MAC PDU decoding improvements when there are issues in UL TB payload (MAC subPDU overlap) --- openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c index 55ddf388a7..b20403b1a4 100644 --- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c +++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c @@ -225,7 +225,11 @@ int nr_process_mac_pdu(instance_t module_idP, break; case UL_SCH_LCID_SINGLE_ENTRY_PHR: - AssertFatal(harq_pid>-1,"Invalid HARQ PID %d\n",harq_pid); + if (harq_pid < 0) { + LOG_E(NR_MAC, "Invalid HARQ PID %d\n", harq_pid); + done = 1; + break; + } NR_sched_pusch_t *sched_pusch = &sched_ctrl->ul_harq_processes[harq_pid].sched_pusch;; //38.321 section 6.1.3.8 //fixed length @@ -258,18 +262,20 @@ int nr_process_mac_pdu(instance_t module_idP, break; case UL_SCH_LCID_MULTI_ENTRY_PHR_1_OCT: + LOG_E(NR_MAC, "Multi entry PHR not supported\n"); + done = 1; //38.321 section 6.1.3.9 - // varialbe length - AssertFatal(1==0,"Multi entry PHR not supported\n"); + // variable length if (!get_mac_len(pduP, pdu_len, &mac_len, &mac_subheader_len)) return 0; /* Extract MULTI ENTRY PHR elements from single octet bitmap for PHR calculation */ break; case UL_SCH_LCID_MULTI_ENTRY_PHR_4_OCT: + LOG_E(NR_MAC, "Multi entry PHR not supported\n"); + done = 1; //38.321 section 6.1.3.9 - // varialbe length - AssertFatal(1==0,"Multi entry PHR not supported\n"); + // variable length if (!get_mac_len(pduP, pdu_len, &mac_len, &mac_subheader_len)) return 0; /* Extract MULTI ENTRY PHR elements from four octets bitmap for PHR calculation */ -- 2.26.2