aboutsummaryrefslogtreecommitdiffstats
path: root/src/tbf_dl.cpp
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-05-08 18:15:59 +0200
committerpespin <pespin@sysmocom.de>2020-05-12 17:09:20 +0000
commit322456ed474a733094c9f3e240295b469023ad14 (patch)
tree81bee7dab1d3c73df8448e0ce71066c83ed64bb4 /src/tbf_dl.cpp
parent17402a59027b60bd49f3feee1b6e56fd804da29a (diff)
Expect ms object to exist before calling tbf_alloc_dl_tbf()
Same as previous commit, this time for the DL counterpart. Change-Id: I87f6cdf8288a688466020bda0874e68b57aa71c4
Diffstat (limited to 'src/tbf_dl.cpp')
-rw-r--r--src/tbf_dl.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp
index 4e8966e6..591f4608 100644
--- a/src/tbf_dl.cpp
+++ b/src/tbf_dl.cpp
@@ -146,10 +146,12 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
/* 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 @@ static int tbf_new_dl_assignment(struct gprs_rlcmac_bts *bts,
// 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");