Avoid concurrent write while filling RX/CRC.indication
We observe these asserts while running concurrent UL traffic on many UEs:
Assertion (crc->rnti == rx->rnti) failed!
In handle_nr_ulsch() ../../../openair2/NR_PHY_INTERFACE/NR_IF_Module.c:193
mis-match between CRC RNTI 7221 and RX RNTI 35cf
CRC and RX indication need to be pairwise for one UE, when here we have
each for different UE. However, investigation seemed to indicate that
both arrays for CRC and RX indication contained only one PDU; it seemed
the RNTI changed while writing the CRC/RX.indication messages in
nr_fill_indication()
.
In this patch, we change the logic to mark a ULSCH free AFTER calling
nr_fill_indication()
. It is difficult to say if this makes the assertion
disappear, but preliminary tests did not exhibit the same failure
states.
Closes #773 (closed)