diff options
Diffstat (limited to 'src/tbf.cpp')
-rw-r--r-- | src/tbf.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/tbf.cpp b/src/tbf.cpp index ccf73627..2afe2576 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -51,6 +51,11 @@ void gprs_rlcmac_tbf::assign_imsi(const char *imsi) m_imsi[sizeof(m_imsi) - 1] = '\0'; } +void gprs_rlcmac_tbf::set_new_tbf(gprs_rlcmac_tbf *tbf) +{ + m_new_tbf = tbf; +} + gprs_rlcmac_ul_tbf *tbf_alloc_ul(struct gprs_rlcmac_bts *bts, int8_t use_trx, uint8_t ms_class, uint32_t tlli, uint8_t ta, struct gprs_rlcmac_tbf *dl_tbf) @@ -557,10 +562,10 @@ struct msgb *gprs_rlcmac_tbf::create_dl_ass(uint32_t fn) "finished.\n"); return NULL; } - #warning "THIS should probably go over the IMSI too" - new_dl_tbf = ul_tbf->bts->dl_tbf_by_tlli(m_tlli); - } else - new_dl_tbf = static_cast<gprs_rlcmac_dl_tbf *>(this); + } + + new_dl_tbf = static_cast<gprs_rlcmac_dl_tbf *>(m_new_tbf); + new_dl_tbf->was_releasing = was_releasing; if (!new_dl_tbf) { LOGP(DRLCMACDL, LOGL_ERROR, "We have a schedule for downlink " "assignment at uplink %s, but there is no downlink " @@ -625,13 +630,7 @@ struct msgb *gprs_rlcmac_tbf::create_ul_ass(uint32_t fn) return NULL; } - /* on down TBF we get the uplink TBF to be assigned. */ -#warning "Probably want to find by IMSI too" - if (direction == GPRS_RLCMAC_DL_TBF) - new_tbf = bts->ul_tbf_by_tlli(m_tlli); - else - new_tbf = static_cast<gprs_rlcmac_ul_tbf *>(this); - + new_tbf = static_cast<gprs_rlcmac_ul_tbf *>(m_new_tbf); if (!new_tbf) { LOGP(DRLCMACUL, LOGL_ERROR, "We have a schedule for uplink " "assignment at downlink %s, but there is no uplink " |