aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPravin Kumarvel <pmanohar@radisys.com>2016-10-13 19:39:42 +0530
committerPravin Kumarvel <pmanohar@radisys.com>2016-10-13 19:39:42 +0530
commit75b8f8efd892f1abe42879a85f40eb7464883462 (patch)
treee848ef3e5cf757e97202330b950600deb77ef034
parentdcb2f6b3dea6b5c8337565fe76f3da1ae205cfcd (diff)
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
-rw-r--r--src/rlc.cpp2
-rw-r--r--src/tbf.cpp5
-rw-r--r--src/tbf_ul.cpp4
3 files changed, 8 insertions, 3 deletions
diff --git a/src/rlc.cpp b/src/rlc.cpp
index 758bf3b..047aafa 100644
--- a/src/rlc.cpp
+++ b/src/rlc.cpp
@@ -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;
diff --git a/src/tbf.cpp b/src/tbf.cpp
index a0f174a..83702fb 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -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();
diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp
index 6797632..62f55c8 100644
--- a/src/tbf_ul.cpp
+++ b/src/tbf_ul.cpp
@@ -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);
}