From 6835cead8c9e13fbbbb7b100a4c18a031f92421f Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Fri, 21 Aug 2015 15:24:02 +0200 Subject: ms: Store references to replaced TBFs in the MS object Currently when calling GprsMs::attach_tbf and a TBF of the same direction already exists, the old TBF gets detached from the MS object. Therefore that TBF object loses access to that MS object including for instance TLLI and IMSI. This leads to failing DL TBF reuses, since the downlink assigment cannot be sent on the PACCH later on because that must be sent on the old DL TBF which ms() is NULL and the new DL TBF cannot be retrieved. This commit fixes this bug by changing the GprsMs implementation to keep a list of replaced (old) TBFs. TBFs are only removed when they are being detached explicitely (see tbf_free and set_ms). Addresses: tbf.cpp:741 We have a schedule for downlink assignment at uplink TBF(TFI=1 TLLI=0xf35a680e DIR=UL STATE=RELEASING), but there is no downlink TBF Sponsored-by: On-Waves ehf --- tests/ms/MsTest.err | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/ms/MsTest.err') diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index ed53f482..a2e4a0cf 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -13,10 +13,10 @@ Destroying MS object, TLLI = 0xffeeddbb Creating MS object, TLLI = 0xffeeddbb Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) +Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0x00000000 DIR=DL STATE=NULL) Destroying MS object, TLLI = 0xffeeddbb Creating MS object, TLLI = 0xaa000000 Modifying MS object, UL TLLI: 0xaa000000 -> 0xff001111, not yet confirmed -- cgit v1.2.3