forked from cellular-infrastructure/osmo-pcu
Fix Ul window calculation for GPRS
The problem was introduced while calculating flexible window size for EGPRS in UL direction. Incorrect window calculation for GPRS UL tbf is fixed
This commit is contained in:
parent
dcb2f6b3de
commit
75b8f8efd8
|
@ -244,6 +244,8 @@ void gprs_rlc_window::set_sns(uint16_t sns)
|
|||
|
||||
void gprs_rlc_window::set_ws(uint16_t ws)
|
||||
{
|
||||
LOGP(DRLCMAC, LOGL_ERROR, "ws(%d)\n",
|
||||
ws);
|
||||
OSMO_ASSERT(ws >= RLC_GPRS_SNS/2);
|
||||
OSMO_ASSERT(ws <= RLC_MAX_SNS/2);
|
||||
m_ws = ws;
|
||||
|
|
|
@ -700,13 +700,16 @@ struct gprs_rlcmac_ul_tbf *tbf_alloc_ul_tbf(struct gprs_rlcmac_bts *bts,
|
|||
}
|
||||
|
||||
rc = setup_tbf(tbf, ms, use_trx, ms_class, egprs_ms_class, single_slot);
|
||||
|
||||
if (tbf->is_egprs_enabled())
|
||||
tbf->egprs_calc_ulwindow_size();
|
||||
|
||||
/* if no resource */
|
||||
if (rc < 0) {
|
||||
talloc_free(tbf);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
tbf->egprs_calc_ulwindow_size();
|
||||
llist_add(&tbf->list(), &bts->bts->ul_tbfs());
|
||||
tbf->bts->tbf_ul_created();
|
||||
|
||||
|
|
|
@ -533,8 +533,8 @@ void gprs_rlcmac_ul_tbf::egprs_calc_ulwindow_size()
|
|||
else
|
||||
ws = OSMO_MIN(128 * num_pdch, ws);
|
||||
|
||||
LOGP(DRLCMAC, LOGL_INFO, "%s: Setting EGPRS window size to %d\n",
|
||||
name(), ws);
|
||||
LOGP(DRLCMAC, LOGL_ERROR, "%s: Setting EGPRS window size to %d, base(%d) slots(%d) ws_pdch(%d)\n",
|
||||
name(), ws, bts_data->ws_base, num_pdch, bts_data->ws_pdch);
|
||||
|
||||
m_window.set_ws(ws);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue