Skip to content

Commit 73c9e72

Browse files
FabianEckermannFabian Eckermann
authored andcommitted
cu_cp,du_processor: Remove asserts in ue context release procedures
1 parent 4a3a4d3 commit 73c9e72

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

lib/cu_cp/du_processor/du_processor_impl.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,10 @@ ue_update_complete_message du_processor_impl::handle_ue_update_request(const ue_
348348
void du_processor_impl::handle_du_initiated_ue_context_release_request(const f1ap_ue_context_release_request& request)
349349
{
350350
du_ue* ue = ue_manager.find_du_ue(request.ue_index);
351-
srsran_assert(ue != nullptr, "ue={}: Could not find DU UE", request.ue_index);
351+
if (ue == nullptr) {
352+
logger.warning("ue={}: Dropping DU initiated UE context release request. UE does not exist", request.ue_index);
353+
return;
354+
}
352355

353356
cu_cp_ue_context_release_request ue_context_release_request;
354357
ue_context_release_request.ue_index = request.ue_index;
@@ -365,7 +368,13 @@ async_task<cu_cp_ue_context_release_complete>
365368
du_processor_impl::handle_ue_context_release_command(const rrc_ue_context_release_command& cmd)
366369
{
367370
du_ue* ue = ue_manager.find_du_ue(cmd.ue_index);
368-
srsran_assert(ue != nullptr, "ue={}: Could not find DU UE", cmd.ue_index);
371+
if (ue == nullptr) {
372+
logger.warning("ue={}: Dropping UE context release command. UE does not exist", cmd.ue_index);
373+
return launch_async([](coro_context<async_task<cu_cp_ue_context_release_complete>>& ctx) {
374+
CORO_BEGIN(ctx);
375+
CORO_RETURN(cu_cp_ue_context_release_complete{});
376+
});
377+
}
369378

370379
return routine_mng->start_ue_context_release_routine(cmd, get_du_processor_ue_handler(), task_sched);
371380
}
@@ -374,7 +383,13 @@ async_task<cu_cp_ue_context_release_complete>
374383
du_processor_impl::handle_ue_context_release_command(const cu_cp_ngap_ue_context_release_command& cmd)
375384
{
376385
du_ue* ue = ue_manager.find_du_ue(cmd.ue_index);
377-
srsran_assert(ue != nullptr, "ue={}: Could not find DU UE", cmd.ue_index);
386+
if (ue == nullptr) {
387+
logger.warning("ue={}: Dropping UE context release command. UE does not exist", cmd.ue_index);
388+
return launch_async([](coro_context<async_task<cu_cp_ue_context_release_complete>>& ctx) {
389+
CORO_BEGIN(ctx);
390+
CORO_RETURN(cu_cp_ue_context_release_complete{});
391+
});
392+
}
378393

379394
// Call RRC UE notifier to get the release context of the UE and add the location info to the UE context release
380395
// complete message

0 commit comments

Comments
 (0)