aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-30 19:50:49 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2013-10-30 21:24:13 +0100
commitbc1626e5de38d7efbea272596d0ec5cc37f4b424 (patch)
tree7389594f87ada0a61b0f1f883b91c2c559f73472 /src
parentb809866be5ce2265a074e5615e23a73f4c4764b4 (diff)
tbf: Update the timing advance for the new tlli based on the old one
Diffstat (limited to 'src')
-rw-r--r--src/ta.cpp5
-rw-r--r--src/ta.h1
-rw-r--r--src/tbf.cpp3
3 files changed, 9 insertions, 0 deletions
diff --git a/src/ta.cpp b/src/ta.cpp
index 05342ea..0bc1d66 100644
--- a/src/ta.cpp
+++ b/src/ta.cpp
@@ -135,3 +135,8 @@ int TimingAdvance::flush()
return count;
}
+int TimingAdvance::update(uint32_t, uint32_t new_tlli, uint8_t ta)
+{
+ /* for now just add the new entry and don't bother about the old one */
+ return remember(new_tlli, ta);
+}
diff --git a/src/ta.h b/src/ta.h
index 8508acb..9b64280 100644
--- a/src/ta.h
+++ b/src/ta.h
@@ -29,6 +29,7 @@ class TimingAdvance {
public:
TimingAdvance();
+ int update(uint32_t old_tlli, uint32_t new_tlli, uint8_t ta);
int remember(uint32_t tlli, uint8_t ta);
int recall(uint32_t tlli);
int flush();
diff --git a/src/tbf.cpp b/src/tbf.cpp
index d78090f..356984f 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1641,6 +1641,9 @@ void gprs_rlcmac_tbf::update_tlli(uint32_t tlli)
}
}
+ /* update the timing advance for the new tlli */
+ bts->timing_advance()->update(m_tlli, tlli, ta);
+
LOGP(DRLCMAC, LOGL_NOTICE,
"%s changing tlli from TLLI=0x%08x TLLI=0x%08x ul_changed=%d\n",
tbf_name(this), m_tlli, tlli, changedUl);