pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/33257 )
Change subject: tbf_dl_fsm: Apply T3193 using FSM infrastructure instead of manually ......................................................................
tbf_dl_fsm: Apply T3193 using FSM infrastructure instead of manually
Change-Id: Ic2a9d4b3c812c1533b2b7f97f27799b28b636c21 --- M src/tbf_dl_fsm.c M tests/tbf/TbfTest.err 2 files changed, 16 insertions(+), 40 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/33257/1
diff --git a/src/tbf_dl_fsm.c b/src/tbf_dl_fsm.c index a0b1c03..a0e47b7 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_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 ee2dc3a..36e1c19 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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} 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}