diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-08-21 18:30:05 +0200 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-08-21 19:02:18 +0200 |
commit | e0b21f41c2b66d3f06a9aea5ac397857832671c8 (patch) | |
tree | e7d171dfbe304e4daf6cee437925422b3fac1dcf /src | |
parent | 257b630216f0dc702013ecc51ac680b5296ae898 (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.cpp | 2 |
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(); } |