@@ -495,7 +495,11 @@ struct gprs_rlcmac_tbf *tbf_alloc(struct gprs_rlcmac_bts *bts,
if (trx >= 8 || tfi >= 32)
return NULL;
- tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_tbf);
+ if (dir == GPRS_RLCMAC_UL_TBF)
+ tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_ul_tbf);
+ else
+ tbf = talloc_zero(tall_pcu_ctx, struct gprs_rlcmac_dl_tbf);
+
if (!tbf)
return NULL;
@@ -326,6 +326,12 @@ inline time_t gprs_rlcmac_tbf::created_ts() const
return m_created_ts;
}
+struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf {
+};
+
+struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf {
+};
+
#endif
#ifdef __cplusplus