Skip to content

Commit c454c22

Browse files
FabianEckermanncodebot
authored andcommitted
cu_cp,rrc: schedule ue release if rrc reconfiguration fails
1 parent 8d7585d commit c454c22

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

lib/rrc/ue/procedures/rrc_reconfiguration_procedure.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ rrc_reconfiguration_procedure::rrc_reconfiguration_procedure(rrc_ue_context_t&
2020
const rrc_reconfiguration_procedure_request& args_,
2121
rrc_ue_reconfiguration_proc_notifier& rrc_ue_notifier_,
2222
rrc_ue_context_update_notifier& cu_cp_notifier_,
23+
rrc_ue_cu_cp_ue_notifier& cu_cp_ue_notifier_,
2324
rrc_ue_event_manager& event_mng_,
2425
rrc_ue_srb_handler& srb_notifier_,
2526
rrc_ue_logger& logger_) :
2627
context(context_),
2728
args(args_),
2829
rrc_ue(rrc_ue_notifier_),
2930
cu_cp_notifier(cu_cp_notifier_),
31+
cu_cp_ue_notifier(cu_cp_ue_notifier_),
3032
event_mng(event_mng_),
3133
srb_notifier(srb_notifier_),
3234
logger(logger_)
@@ -65,11 +67,10 @@ void rrc_reconfiguration_procedure::operator()(coro_context<async_task<bool>>& c
6567
} else {
6668
logger.log_warning("\"{}\" timed out after {}ms", name(), context.cfg.rrc_procedure_timeout_ms);
6769
// Notify NGAP to request UE context release from AMF
68-
CORO_AWAIT(cu_cp_notifier.on_ue_release_required(
70+
cu_cp_ue_notifier.schedule_async_task(cu_cp_notifier.on_ue_release_required(
6971
{context.ue_index, {}, ngap_cause_radio_network_t::release_due_to_ngran_generated_reason}));
7072
}
7173

72-
logger.log_debug("\"{}\" finalized", name());
7374
CORO_RETURN(procedure_result);
7475
}
7576

lib/rrc/ue/procedures/rrc_reconfiguration_procedure.h

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ class rrc_reconfiguration_procedure
2929
const rrc_reconfiguration_procedure_request& args_,
3030
rrc_ue_reconfiguration_proc_notifier& rrc_ue_notifier_,
3131
rrc_ue_context_update_notifier& cu_cp_notifier_,
32-
rrc_ue_event_manager& ev_mng_,
32+
rrc_ue_cu_cp_ue_notifier& cu_cp_ue_notifier_,
33+
rrc_ue_event_manager& event_mng_,
3334
rrc_ue_srb_handler& srb_notifier_,
3435
rrc_ue_logger& logger_);
3536

@@ -44,10 +45,11 @@ class rrc_reconfiguration_procedure
4445
rrc_ue_context_t& context;
4546
const rrc_reconfiguration_procedure_request args;
4647

47-
rrc_ue_reconfiguration_proc_notifier& rrc_ue; // handler to the parent RRC UE object
48-
rrc_ue_context_update_notifier& cu_cp_notifier; // to release the UE if the reconfiguration fails
49-
rrc_ue_event_manager& event_mng; // event manager for the RRC UE entity
50-
rrc_ue_srb_handler& srb_notifier; // For creating SRBs
48+
rrc_ue_reconfiguration_proc_notifier& rrc_ue; // handler to the parent RRC UE object
49+
rrc_ue_context_update_notifier& cu_cp_notifier; // to release the UE if the reconfiguration fails
50+
rrc_ue_cu_cp_ue_notifier& cu_cp_ue_notifier; // to schedule the UE release
51+
rrc_ue_event_manager& event_mng; // event manager for the RRC UE entity
52+
rrc_ue_srb_handler& srb_notifier; // For creating SRBs
5153
rrc_ue_logger& logger;
5254

5355
rrc_transaction transaction;

lib/rrc/ue/rrc_ue_message_handlers.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ byte_buffer rrc_ue_impl::get_packed_ue_radio_access_cap_info() const
377377
async_task<bool> rrc_ue_impl::handle_rrc_reconfiguration_request(const rrc_reconfiguration_procedure_request& msg)
378378
{
379379
return launch_async<rrc_reconfiguration_procedure>(
380-
context, msg, *this, cu_cp_notifier, *event_mng, get_rrc_ue_srb_handler(), logger);
380+
context, msg, *this, cu_cp_notifier, cu_cp_ue_notifier, *event_mng, get_rrc_ue_srb_handler(), logger);
381381
}
382382

383383
rrc_ue_handover_reconfiguration_context

0 commit comments

Comments
 (0)