Expect ms object to exist before calling tbf_alloc_dl_tbf()
Same as previous commit, this time for the DL counterpart.
Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 4e8966e..591f460 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -146,10 +146,12 @@
/* check for uplink data, so we copy our informations */
ms = bts->bts->ms_store().get_ms(tlli, tlli_old, imsi);
- if (ms) {
- ul_tbf = ms->ul_tbf();
- ta = ms->ta();
- }
+ if (!ms)
+ ms = bts->bts->ms_alloc(ms_class, egprs_ms_class); /* ms class updated later */
+
+ ul_tbf = ms->ul_tbf();
+ ta = ms->ta();
+
/* TODO: if (!ms) create MS before tbf_alloc is called? */
if (ul_tbf && ul_tbf->m_contention_resolution_done
@@ -166,7 +168,7 @@
// Create new TBF (any TRX)
/* FIXME: Copy and paste with alloc_ul_tbf */
/* set number of downlink slots according to multislot class */
- dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ms_class, egprs_ms_class, ss);
+ dl_tbf = tbf_alloc_dl_tbf(bts, ms, use_trx, ss);
if (!dl_tbf) {
LOGP(DTBF, LOGL_NOTICE, "No PDCH resource\n");