diff --git a/srsenb/src/stack/mac/mac.cc b/srsenb/src/stack/mac/mac.cc index 1be0ab51f..13fa596e2 100644 --- a/srsenb/src/stack/mac/mac.cc +++ b/srsenb/src/stack/mac/mac.cc @@ -598,7 +598,10 @@ void mac::rach_detected(uint32_t tti, uint32_t enb_cc_idx, uint32_t preamble_idx } // Trigger scheduler RACH - scheduler.dl_rach_info(enb_cc_idx, rar_info); + if (scheduler.dl_rach_info(enb_cc_idx, rar_info) != SRSRAN_SUCCESS) { + ue_rem(rnti); + return; + } auto get_pci = [this, enb_cc_idx]() { srsran::rwlock_read_guard lock(rwlock); diff --git a/srsenb/src/stack/mac/sched_carrier.cc b/srsenb/src/stack/mac/sched_carrier.cc index bdc6a3a7a..130e99e40 100644 --- a/srsenb/src/stack/mac/sched_carrier.cc +++ b/srsenb/src/stack/mac/sched_carrier.cc @@ -298,6 +298,7 @@ int ra_sched::dl_rach_info(dl_sched_rar_info_t rar_info) if (not pending_rars.try_push(p)) { logger.warning("SCHED: Unable to handle RAR ra-rnti=0x%x, as the maximum number of pending RARs has been reached", ra_rnti); + return SRSRAN_ERROR; } return SRSRAN_SUCCESS;