From 73191a443f4be0a6a6ae7058625912150e07e3c7 Mon Sep 17 00:00:00 2001 From: Daniel Willmann Date: Fri, 30 May 2014 17:58:00 +0200 Subject: tbf/bts, encoding: Keep track of WAIT_RELEASE state for DL assignment The current code does not properly distinguish between DL assignments to reuse a tbf (after it was put in state WAIT_RELEASE) and DL assignments for an active tbf to change the allocation of the PDCH timeslots. This patch introduces a new variable was_releasing which remembers if trigger_dl_ass() was called with a tbf in state WAIT_RELEASE. In that case we have to set the CONTROL_ACK field in the download assignment. This should allow us to send DL assignments to change PDCH TS allocation of a tbf before we enter FLOW state. --- src/encoding.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/encoding.cpp') diff --git a/src/encoding.cpp b/src/encoding.cpp index 51b0fbe5..13848aa8 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -267,7 +267,7 @@ void Encoding::write_packet_downlink_assignment(RlcMacDownlink_t * block, uint8_ block->u.Packet_Downlink_Assignment.MAC_MODE = 0x0; // Dynamic Allocation block->u.Packet_Downlink_Assignment.RLC_MODE = 0x0; // RLC acknowledged mode - block->u.Packet_Downlink_Assignment.CONTROL_ACK = old_downlink; // NW establishes no new DL TBF for the MS with running timer T3192 + block->u.Packet_Downlink_Assignment.CONTROL_ACK = tbf->was_releasing; // NW establishes no new DL TBF for the MS with running timer T3192 block->u.Packet_Downlink_Assignment.TIMESLOT_ALLOCATION = 0; // timeslot(s) for (tn = 0; tn < 8; tn++) { if (tbf->pdch[tn]) -- cgit v1.2.3