Skip to content

Commit 46fedb6

Browse files
committed
sched: handle the failure of creation of a UE by signalling false back to the MAC
1 parent c427fad commit 46fedb6

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib/scheduler/scheduler_impl.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ void scheduler_impl::handle_ue_creation_request(const sched_ue_creation_request_
5757
error_type<std::string> result =
5858
config_validators::validate_sched_ue_creation_request_message(ue_request, cells[pcell_index]->cell_cfg);
5959
if (result.is_error()) {
60-
report_fatal_error(
60+
logger.warning(
6161
"ue={} rnti={:#x}: Discarding invalid UE creation request. Cause: {}", ue_request.crnti, result.error());
6262
config_notifier.on_ue_config_complete(ue_request.ue_index, false);
6363
}

lib/scheduler/ue_scheduling/ue_event_manager.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ void ue_event_manager::handle_ue_creation_request(const sched_ue_creation_reques
3636

3737
// Defer UE object addition to ue list to the slot indication handler.
3838
common_events.emplace(MAX_NOF_DU_UES, [this, u = std::move(u)]() mutable {
39+
if (ue_db.contains(u->ue_index)) {
40+
logger.error("ue={} rnti={:#x}: Create of UE failed. Cause: A UE with the same index already exists",
41+
u->ue_index,
42+
u->crnti);
43+
mac_notifier.on_ue_config_complete(u->ue_index, false);
44+
return;
45+
}
46+
3947
// Insert UE in UE repository.
4048
du_ue_index_t ueidx = u->ue_index;
4149
rnti_t rnti = u->crnti;

0 commit comments

Comments
 (0)