diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-06-26 14:16:47 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2020-06-26 14:16:50 +0200 |
commit | cbf05f5146fdf1343813c751b9406b4055526bb9 (patch) | |
tree | 9e6c21c11f624cd1c90733be9940ec8f830443f6 | |
parent | 43f0bce25325e94a7eb6584bf9d01152014aa7c9 (diff) |
gprs_ms: Transfer known EGPRS MS class when mergling old MS
Since not all the the information about the MS is known during TBF
creation in all scenrios, it may happen that when TBF is created it
creates a MS which later will end up being found a duplicate of an
already previously existing MS.
At that point, the old object is dropped and information retrieved from
both is merged into the new one.
The GPRS MS class was being transferred, but the EGPRS MS class was missing.
Change-Id: Ieb9929b60254b12f79392d6acb8b456d71cccb9e
-rw-r--r-- | src/gprs_ms.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gprs_ms.cpp b/src/gprs_ms.cpp index 341826ca..494ed2e2 100644 --- a/src/gprs_ms.cpp +++ b/src/gprs_ms.cpp @@ -386,6 +386,9 @@ void GprsMs::merge_old_ms(GprsMs *old_ms) if (!ms_class() && old_ms->ms_class()) set_ms_class(old_ms->ms_class()); + if (!egprs_ms_class() && old_ms->egprs_ms_class()) + set_egprs_ms_class(old_ms->egprs_ms_class()); + m_llc_queue.move_and_merge(&old_ms->m_llc_queue); old_ms->reset(); |