eMBMS: moving RRC add_user call for MRNTI to avoiding potential deadlock

master
yagoda 2 years ago committed by Justin Tallon
parent 07d1f14fab
commit f9686e5fce

@ -1056,7 +1056,6 @@ void mac::write_mcch(const srsran::sib2_mbms_t* sib2_,
if (!ret) { if (!ret) {
logger.info("Failed to allocate rnti=0x%x.for eMBMS", SRSRAN_MRNTI); logger.info("Failed to allocate rnti=0x%x.for eMBMS", SRSRAN_MRNTI);
} }
rrc_h->add_user(SRSRAN_MRNTI, {});
} }
// Internal helper function, caller must hold UE DB rwlock // Internal helper function, caller must hold UE DB rwlock

@ -951,6 +951,7 @@ void rrc::configure_mbsfn_sibs()
task_sched.defer_task([this, sibs2, sibs13, mcch_t]() mutable { task_sched.defer_task([this, sibs2, sibs13, mcch_t]() mutable {
phy->configure_mbsfn(&sibs2, &sibs13, mcch_t); phy->configure_mbsfn(&sibs2, &sibs13, mcch_t);
mac->write_mcch(&sibs2, &sibs13, &mcch_t, mcch_payload_buffer, current_mcch_length); mac->write_mcch(&sibs2, &sibs13, &mcch_t, mcch_payload_buffer, current_mcch_length);
add_user(SRSRAN_MRNTI, {});
}); });
} }

Loading…
Cancel
Save