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
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index c5ce666..16dc47b 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -467,6 +467,8 @@
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;
}
diff --git a/src/tbf_dl_fsm.c b/src/tbf_dl_fsm.c
index 0ab740d..7d1f9b1 100644
--- a/src/tbf_dl_fsm.c
+++ b/src/tbf_dl_fsm.c
@@ -345,11 +345,8 @@
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)