hack for RLC AM ACK reporting
hack: in schedule_ue_spec, 3 bytes are "reserved" (this should be done better). An RLC AM entity may ask for only 2 bytes for ACKing and get a TBS of 32 bits and due to these 3 reserved bytes we may end up with only 1 byte left for RLC, which is not enough. This hack prevents the problem. To be done better at some point. If the function schedule_ue_spec is (has been) reworked, this hack can be removed. Dig for "TBS - ta_len - header_length_total - sdu_length_total - 3" in schedule_ue_spec. This should be done better at some point.
This commit is contained in:
@@ -295,6 +295,18 @@ store_dlsch_buffer(module_id_t Mod_id,
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* hack: in schedule_ue_spec, 3 bytes are "reserved" (this should be
|
||||||
|
* done better). An RLC AM entity may ask for only 2 bytes for
|
||||||
|
* ACKing and get a TBS of 32 bits and due to these 3 reserved bytes we may
|
||||||
|
* end up with only 1 byte left for RLC, which is not enough. This hack
|
||||||
|
* prevents the problem. To be done better at some point. If the function
|
||||||
|
* schedule_ue_spec is (has been) reworked, this hack can be removed.
|
||||||
|
* Dig for "TBS - ta_len - header_length_total - sdu_length_total - 3"
|
||||||
|
* in schedule_ue_spec.
|
||||||
|
*/
|
||||||
|
if (UE_template->dl_buffer_total > 0 && UE_template->dl_buffer_total <= 2)
|
||||||
|
UE_template->dl_buffer_total += 3;
|
||||||
|
|
||||||
if (UE_template->dl_buffer_total > 0)
|
if (UE_template->dl_buffer_total > 0)
|
||||||
LOG_D(MAC,
|
LOG_D(MAC,
|
||||||
"[eNB %d] Frame %d Subframe %d : RLC status for UE %d : total DL buffer size %d and total number of pdu %d \n",
|
"[eNB %d] Frame %d Subframe %d : RLC status for UE %d : total DL buffer size %d and total number of pdu %d \n",
|
||||||
|
|||||||
Reference in New Issue
Block a user