aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-06-26 14:16:47 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-06-26 14:16:50 +0200
commitcbf05f5146fdf1343813c751b9406b4055526bb9 (patch)
tree9e6c21c11f624cd1c90733be9940ec8f830443f6
parent43f0bce25325e94a7eb6584bf9d01152014aa7c9 (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.cpp3
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();