From e200a3359e5026223f4fad1fc6c4cb00e3df2892 Mon Sep 17 00:00:00 2001 From: Xavier Arteaga Date: Tue, 23 Mar 2021 15:03:35 +0100 Subject: [PATCH] SRSUE: check RNTI prior to UL encoding --- srsue/src/phy/lte/cc_worker.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/srsue/src/phy/lte/cc_worker.cc b/srsue/src/phy/lte/cc_worker.cc index 196907de5..8f22b0ea9 100644 --- a/srsue/src/phy/lte/cc_worker.cc +++ b/srsue/src/phy/lte/cc_worker.cc @@ -728,7 +728,7 @@ bool cc_worker::encode_uplink(mac_interface_phy_lte::tb_action_ul_t* action, srs ue_ul_cfg.cc_idx = cc_idx; // Setup input data - if (action) { + if (action != nullptr) { data.ptr = action->tb.payload; ue_ul_cfg.ul_cfg.pusch.softbuffers.tx = action->tb.softbuffer.tx; @@ -740,7 +740,7 @@ bool cc_worker::encode_uplink(mac_interface_phy_lte::tb_action_ul_t* action, srs } // Set UCI data and configuration - if (uci_data) { + if (uci_data != nullptr) { data.uci = uci_data->value; ue_ul_cfg.ul_cfg.pusch.uci_cfg = uci_data->cfg; ue_ul_cfg.ul_cfg.pucch.uci_cfg = uci_data->cfg; @@ -752,6 +752,11 @@ bool cc_worker::encode_uplink(mac_interface_phy_lte::tb_action_ul_t* action, srs // Set UL RNTI ue_ul_cfg.ul_cfg.pucch.rnti = phy->stack->get_ul_sched_rnti(CURRENT_TTI_TX); + // Check if the RNTI is valid. Early return without transmitting any signal if the RNTI is invalid. + if (ue_ul_cfg.ul_cfg.pucch.rnti == SRSRAN_INVALID_RNTI) { + return false; + } + // Encode signal int ret = srsran_ue_ul_encode(&ue_ul, &sf_cfg_ul, &ue_ul_cfg, &data); if (ret < 0) {