tbf_ul: Move rate_ctr allocation to constructor
Change-Id: I818eb05fe062e0610e86cb34273bde99b379aa3f
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index 608714d..a6c4ee3 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -131,16 +131,6 @@
if (tbf->is_egprs_enabled())
tbf->set_window_size();
- tbf->m_ul_egprs_ctrs = rate_ctr_group_alloc(tbf,
- &tbf_ul_egprs_ctrg_desc, tbf->m_ctrs->idx);
- tbf->m_ul_gprs_ctrs = rate_ctr_group_alloc(tbf,
- &tbf_ul_gprs_ctrg_desc, tbf->m_ctrs->idx);
- if (!tbf->m_ul_egprs_ctrs || !tbf->m_ul_gprs_ctrs) {
- LOGPTBF(tbf, LOGL_ERROR, "Couldn't allocate TBF UL counters\n");
- talloc_free(tbf);
- return NULL;
- }
-
llist_add_tail(tbf_trx_list(tbf), &tbf->trx->ul_tbfs);
bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ALLOCATED);
@@ -168,17 +158,6 @@
/* The only one TS is the common, control TS */
ms_set_first_common_ts(ms, pdch);
tbf_assign_control_ts(ul_tbf);
- ul_tbf->m_ul_egprs_ctrs = rate_ctr_group_alloc(ul_tbf,
- &tbf_ul_egprs_ctrg_desc,
- ul_tbf->m_ctrs->idx);
- ul_tbf->m_ul_gprs_ctrs = rate_ctr_group_alloc(ul_tbf,
- &tbf_ul_gprs_ctrg_desc,
- ul_tbf->m_ctrs->idx);
- if (!ul_tbf->m_ul_egprs_ctrs || !ul_tbf->m_ul_gprs_ctrs) {
- LOGPTBF(ul_tbf, LOGL_ERROR, "Could not allocate TBF UL rate counters\n");
- talloc_free(ul_tbf);
- return NULL;
- }
tbf_update_state_fsm_name(ul_tbf);
ms_attach_tbf(ms, ul_tbf);
@@ -205,6 +184,11 @@
memset(&ul_ack_fsm, 0, sizeof(ul_ack_fsm));
ul_ack_fsm.tbf = this;
ul_ack_fsm.fi = osmo_fsm_inst_alloc(&tbf_ul_ack_fsm, this, &ul_ack_fsm, LOGL_INFO, NULL);
+
+ m_ul_egprs_ctrs = rate_ctr_group_alloc(this, &tbf_ul_egprs_ctrg_desc, m_ctrs->idx);
+ OSMO_ASSERT(m_ul_egprs_ctrs);
+ m_ul_gprs_ctrs = rate_ctr_group_alloc(this, &tbf_ul_gprs_ctrg_desc, m_ctrs->idx);
+ OSMO_ASSERT(m_ul_gprs_ctrs);
}
/*