• Robert Schmidt's avatar
    PDCP DL handling: unlock PDCP before forwarding PDU · 0f43c2c7
    Robert Schmidt authored
    nr_pdcp_entity_recv_sdu() processes PDCP SDUs, and forwards the PDU at the
    end of the function, while having the PDCP lock. This can lead to
    deadlocks, e.g., when another thread goes through RLC and tries to
    access the PDCP while the PDCP tries to lock the RLC.
    
    This commit changes the logic: instead of having recv_sdu() forward the
    PDU directly, it fills a buffer with the PDU (thus the name change to
    process_sdu()), and returns. We then unlock the PDCP, before forwarding
    the PDU, thus eliminating potential deadlocks.
    0f43c2c7
nr_pdcp_entity.h 7.26 KB