Trigger PACCH assignment inside dl_tbf_upgrade_to_multislot()

The triggering of the assignment for the new TBF allocation is part of
the "upgrade to multislot" process, hence move that inside the function.

Change-Id: Ic2b959f2476b900cb263ccd8f6698ed843bafd29
This commit is contained in:
Pau Espin 2022-12-13 14:48:31 +01:00 committed by pespin
parent b7a2b59c68
commit 4a09054dc0
4 changed files with 47122 additions and 23564 deletions

View File

@ -467,6 +467,8 @@ int dl_tbf_upgrade_to_multislot(struct gprs_rlcmac_dl_tbf *tbf)
tbf->set_window_size();
tbf_update_state_fsm_name(tbf);
/* Now trigger the assignment using the pre-existing TBF: */
dl_tbf_trigger_ass_on_pacch(tbf, dl_tbf_as_tbf(tbf));
return 0;
}

View File

@ -345,11 +345,8 @@ static void handle_timeout_X2002(struct osmo_fsm_inst *fi)
ctx->state_flags &= GPRS_RLCMAC_FLAG_TO_MASK;
rc = dl_tbf_upgrade_to_multislot(ctx->dl_tbf);
if (rc < 0) {
if (rc < 0)
tbf_free(ctx->tbf);
return;
}
dl_tbf_trigger_ass_on_pacch(ctx->dl_tbf, ctx->tbf);
}
static int tbf_dl_fsm_timer_cb(struct osmo_fsm_inst *fi)

File diff suppressed because it is too large Load Diff

View File

@ -7162,18 +7162,25 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs
PDCH(bts=0,trx=0,ts=5) Attaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS) setting EGPRS DL window size to 384, base(128) slots(4) ws_pdch(64)
ws(384)
TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS) Send downlink assignment on PACCH, because TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS) exists
DL_ASS_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NONE}: Received Event SCHED_ASS
DL_ASS_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NONE}: state_chg to SEND_ASS
DL_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NEW}: Received Event ASSIGN_ADD_PACCH
TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0]
DL_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NEW}: state_chg to ASSIGN
TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec
DL TBF slots: 0x3c, N: 4, WS: 384
TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS) free
PDCH(bts=0,trx=0,ts=2) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=3) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=5) Detaching TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TA-220:MSCLS-11-11) Detaching TBF: TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS)
TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS) free
PDCH(bts=0,trx=0,ts=2) Detaching TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=3) Detaching TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=4) Detaching TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
PDCH(bts=0,trx=0,ts=5) Detaching TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001.
MS(TA-220:MSCLS-11-11) Detaching TBF: TBF(DL:TFI-0-0-0:STATE-ASSIGN:EGPRS)
MS(TA-220:MSCLS-11-11) Destroying MS object
********** DL-TBF ends here **********
DL_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NEW}: Deallocated
DL_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){ASSIGN}: Deallocated
UL_ASS_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NONE}: Deallocated
DL_ASS_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){NONE}: Deallocated
DL_ASS_TBF(DL:TFI-0-0-0:STATE-NEW:EGPRS){SEND_ASS}: Deallocated
=== end test_tbf_update_ws ===
=== start test_tbf_li_decoding ===
PDCH(bts=0,trx=0,ts=7) PDCH state: disabled => enabled