diff options
Diffstat (limited to 'src/gprs_bssgp_pcu.cpp')
-rw-r--r-- | src/gprs_bssgp_pcu.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gprs_bssgp_pcu.cpp b/src/gprs_bssgp_pcu.cpp index 54753b85..7c5fba52 100644 --- a/src/gprs_bssgp_pcu.cpp +++ b/src/gprs_bssgp_pcu.cpp @@ -241,6 +241,19 @@ int gprs_bssgp_pcu_rx_dl_ud(struct msgb *msg, struct tlv_parsed *tp) return -EBUSY; } tbf->tlli = tlli; + struct gprs_rlcmac_bts *bts = gprs_rlcmac_bts; + if (bts->cs_link_adaptation) { + /* set coding scheme */ + int cs = recall_cs(tlli); + if (cs > 0) { + tbf->cs = cs; + LOGP(DCS, LOGL_NOTICE, "New DL TBF for tlli = 0x%08x recall CS = %d\n", tbf->tlli, tbf->cs); + } else { + tbf->cs = bts->initial_cs_dl; + remember_cs(tbf->tlli, tbf->cs); + LOGP(DCS, LOGL_NOTICE, "New DL TBF for tlli = 0x%08x remember CS = %d\n", tbf->tlli, tbf->cs); + } + } tbf->tlli_valid = 1; tbf->ta = ta; |