aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2015-08-21 18:30:05 +0200
committerJacob Erlbeck <jerlbeck@sysmocom.de>2015-08-21 19:02:18 +0200
commite0b21f41c2b66d3f06a9aea5ac397857832671c8 (patch)
treee7d171dfbe304e4daf6cee437925422b3fac1dcf /src
parent257b630216f0dc702013ecc51ac680b5296ae898 (diff)
tbf: Move pending LLC frames when merging MS objects
Currently the pending LLC packets are lost in some cases when MS objects are merged, for instance after a RACH when there were 2 MS object for the same MS (they get merged, when the TLLI is known for both objects). This patch modifies GprsMs::merge_old_ms to move all pending LLC packets (if there are any) to the current MS object. Sponsored-by: On-Waves ehf
Diffstat (limited to 'src')
-rw-r--r--src/gprs_ms.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp
index a5a6cfda..cb7773fc 100644
--- a/src/gprs_ms.cpp
+++ b/src/gprs_ms.cpp
@@ -322,6 +322,8 @@ void GprsMs::merge_old_ms(GprsMs *old_ms)
if (!ms_class() && old_ms->ms_class())
set_ms_class(old_ms->ms_class());
+ m_llc_queue.move_and_merge(&old_ms->m_llc_queue);
+
old_ms->reset();
}