aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2023-06-09 16:44:35 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2023-06-09 16:44:35 +0200
commit49b144847f31c57f4c90f0a292cad339f5afc354 (patch)
tree384291b0b085328b44b5b1061678f07daabdd3c0
parent08b6a00afdce56c6ea956322b0e25b218221da9d (diff)
tbf_dl_fsm: Apply T3193 using FSM infrastructure instead of manually
-rw-r--r--src/tbf_dl_fsm.c23
-rw-r--r--tests/tbf/TbfTest.err24
2 files changed, 7 insertions, 40 deletions
diff --git a/src/tbf_dl_fsm.c b/src/tbf_dl_fsm.c
index a0b1c036..a0e47b76 100644
--- a/src/tbf_dl_fsm.c
+++ b/src/tbf_dl_fsm.c
@@ -31,20 +31,20 @@
static const struct osmo_tdef_state_timeout tbf_dl_fsm_timeouts[32] = {
[TBF_ST_NEW] = {},
- [TBF_ST_ASSIGN] = { },
- [TBF_ST_FLOW] = { },
+ [TBF_ST_ASSIGN] = {},
+ [TBF_ST_FLOW] = {},
[TBF_ST_FINISHED] = {},
- [TBF_ST_WAIT_RELEASE] = {},
+ [TBF_ST_WAIT_RELEASE] = { .T = 3193 },
[TBF_ST_RELEASING] = {},
};
-/* Transition to a state, using the T timer defined in tbf_fsm_timeouts.
- * The actual timeout value is in turn obtained from conn->T_defs.
- * Assumes local variable fi exists. */
+/* Transition to a state, using the T timer defined in tbf_dl_fsm_timeouts.
+ * The actual timeout value is in turn obtained from T_defs_bts.
+ */
#define tbf_dl_fsm_state_chg(fi, NEXT_STATE) \
osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \
tbf_dl_fsm_timeouts, \
- the_pcu->T_defs, \
+ tbf_ms(((struct tbf_dl_fsm_ctx *)(fi->priv))->tbf)->bts->T_defs_bts, \
-1)
static void mod_ass_type(struct tbf_dl_fsm_ctx *ctx, uint8_t t, bool set)
@@ -267,15 +267,6 @@ static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data)
static void st_wait_release_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state)
{
struct tbf_dl_fsm_ctx *ctx = (struct tbf_dl_fsm_ctx *)fi->priv;
- unsigned long val_s, val_ms, val_us;
-
- fi->T = 3193;
- val_ms = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, fi->T, OSMO_TDEF_MS, -1);
- val_s = val_ms / 1000;
- val_us = (val_ms % 1000) * 1000;
- LOGPTBFDL(ctx->dl_tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %lu microsec\n",
- fi->T, val_s, val_us);
- osmo_timer_schedule(&fi->timer, val_s, val_us);
mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false);
}
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index ee2dc3a0..36e1c19c 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -145,7 +145,6 @@ TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:G){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:G){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
[DL] algo A <multi> (suggested TRX: 0): Alloc start
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
@@ -272,7 +271,6 @@ TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:G){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:G){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
[DL] algo A <multi> (suggested TRX: 0): Alloc start
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
@@ -589,7 +587,6 @@ TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FINISHED} V(B): (V(A)=22)""(V(S)-1=21) A=Ac
TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){FINISHED} Final ACK received.
DL_TBF(DL:TFI-0-0-0:G){FINISHED}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:G){FINISHED}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:G:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-45-0:DL) Detaching TBF: TBF(DL:G:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -3858,7 +3855,6 @@ TBF(DL:TFI-0-0-0:G:IMSI-0011223344:TLLI-0xf1223344){FINISHED} V(B): (V(A)=28)""(
TBF(DL:TFI-0-0-0:G:IMSI-0011223344:TLLI-0xf1223344){FINISHED} Final ACK received.
DL_TBF(DL:TFI-0-0-0:G:IMSI-0011223344:TLLI-0xf1223344){FINISHED}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:G:IMSI-0011223344:TLLI-0xf1223344){FINISHED}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:G:IMSI-0011223344:TLLI-0xf1223344){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
[DL] algo A <multi> (suggested TRX: 0): Alloc start
- Skipping TS 0, because not enabled
- Skipping TS 1, because not enabled
@@ -4929,7 +4925,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=25)""(V(S)-1=24) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -5196,7 +5191,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=20)""(V(S)-1=19) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -5423,7 +5417,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=15)""(V(S)-1=14) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -5634,7 +5627,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=13)""(V(S)-1=12) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -5829,7 +5821,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=11)""(V(S)-1=10) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6000,7 +5991,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6180,7 +6170,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=11)""(V(S)-1=10) A=Acked
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6351,7 +6340,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=9)""(V(S)-1=8) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6511,7 +6499,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6594,7 +6581,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6673,7 +6659,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6752,7 +6737,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6856,7 +6840,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -6959,7 +6942,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7062,7 +7044,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7165,7 +7146,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7254,7 +7234,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7340,7 +7319,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7426,7 +7404,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}
@@ -7519,7 +7496,6 @@ TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){FLOW} Final ACK received.
DL_TBF(DL:TFI-0-0-0:E){FLOW}: Received Event FINAL_ACK_RECVD
DL_TBF(DL:TFI-0-0-0:E){FLOW}: state_chg to WAIT_RELEASE
-TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} starting timer T3193 with 0 sec. 100000 microsec
TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE} free
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:E:TLLI-0xffeeddcc){WAIT_RELEASE}, 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TLLI-0xffeeddcc:TA-0:MSCLS-11-11:DL) Detaching TBF: TBF(DL:E:TLLI-0xffeeddcc){WAIT_RELEASE}