Commit 1a3bf557 authored by Robert Schmidt's avatar Robert Schmidt

delay transaction: handle if no UE found

It can happen that a message is delayed, but then no UE is found for
such message, e.g., something is delayed but the UE context is deleted
in the meantime:

    [02:23:16.320730] [NR_RRC] I [--] (UE ID 3 RNTI d2b1) Remove UE context

    Assertion (ue_context_p) failed!
    In rrc_delay_transaction() /oai-ran/openair2/RRC/NR/rrc_gNB.c:191

In that case, don't delay the message further -- all handlers gated by
this function will check for the UE context and abort the transaction if
not present.
parent 1e9476a6
......@@ -166,7 +166,8 @@ static bool rrc_delay_transaction(instance_t instance, MessageDef *msg_p)
AssertFatal(cu_ue_id > 0, "cu_ue_id not found in message %s\n", ITTI_MSG_NAME(msg_p));
rrc_gNB_ue_context_t *ue_context_p = rrc_gNB_get_ue_context(RC.nrrrc[instance], cu_ue_id);
DevAssert(ue_context_p);
if (!ue_context_p)
return false; // nothing to delay
gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
bool delay = UE->delayed_action.ongoing_transaction && UE->delayed_action.max_delays > 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment