Commit 01530385 authored by fnabet's avatar fnabet

RLC AM fix Tx Status Report

parent 40fa3e07
......@@ -134,8 +134,11 @@ rlc_am_get_status_pdu_buffer_occupancy(
} // end if segments
else
{
/* Go to next received PDU or PDU Segment */
cursor_p = cursor_p->next;
/* Go to next received PDU or PDU segment with different SN */
do
{
cursor_p = cursor_p->next;
} while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info.sn == sn_cursor));
}
sn_prev = RLC_AM_NEXT_SN(sn_cursor);
......
......@@ -638,7 +638,6 @@ rlc_am_rx_pdu_status_t rlc_am_rx_list_handle_pdu(
mem_block_t* trunc_pdu = create_new_segment_from_pdu(tb_pP,next_waited_so,pdu_rx_info_p->payload_size - next_waited_so);
if (trunc_pdu != NULL) {
((rlc_am_rx_pdu_management_t *) (trunc_pdu->data))->segment_reassembled = RLC_AM_RX_PDU_SEGMENT_REASSEMBLE_PENDING;
/* Insert PDU Segment */
list2_insert_after_element(trunc_pdu, previous_cursor_p, &rlc_pP->receiver_buffer);
......@@ -1317,7 +1316,9 @@ rlc_am_rx_list_reassemble_rlc_sdus(
}
/* Reset Management pointers */
if (cursor_p != NULL) {
if ((cursor_p != NULL) &&
((((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info.sn == RLC_AM_NEXT_SN(sn)) ||
(((rlc_am_rx_pdu_management_t*)(cursor_p->data))->segment_reassembled == RLC_AM_RX_PDU_SEGMENT_REASSEMBLE_PENDING))) {
rlc_am_rx_pdu_management_p = ((rlc_am_rx_pdu_management_t*)(cursor_p->data));
}
else {
......
......@@ -723,8 +723,10 @@ rlc_am_send_status_pdu(
}
} // end while on all PDU segments of sn_cursor
else {
/* Go to next received PDU or PDU segment if sn_cursor is fully received */
cursor_p = cursor_p->next;
/* Go to next received PDU or PDU segment with different SN */
do {
cursor_p = cursor_p->next;
} while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info.sn == sn_cursor));
}
/* Increment sn_nack except if sn_nack = vrMS and if current SN was not fully received */
......
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