aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2020-07-08 17:18:22 +0200
committerPau Espin Pedrol <pespin@sysmocom.de>2020-07-09 13:37:15 +0200
commitbcb226d6070cc70c21f98c025ef776e2a9b00c28 (patch)
tree5a82304d2ad849b0a5d9b6b2bda5c759f8cc9c1d
parent85faa762c3fd8395ad20d27c3bcece042c0005b0 (diff)
pdch.cpp: Avoid resetting (egprs_)ms_class to unknown if not found in MS RadioAccCap
If the information is not found in the message, 0 (unknown MS class) will be returned. If the MS already had some previous information on the MS class, let's not lose it by setting it back to 0. Take the opportunity to drop related log lines which are no needed, since set_(egprs_)ms_class() functions already log the value changes. Change-Id: Icd52209fd4395d78dc770e7869d1b1fe45a18ca0
-rw-r--r--src/pdch.cpp19
-rw-r--r--tests/tbf/TbfTest.err6
2 files changed, 6 insertions, 19 deletions
diff --git a/src/pdch.cpp b/src/pdch.cpp
index 98d7678c..3436e5ba 100644
--- a/src/pdch.cpp
+++ b/src/pdch.cpp
@@ -588,20 +588,13 @@ void gprs_rlcmac_pdch::rcv_resource_request(Packet_Resource_Request_t *request,
}
if (request->Exist_MS_Radio_Access_capability2) {
uint8_t ms_class, egprs_ms_class;
- ms_class = Decoding::get_ms_class_by_capability(
- &request->MS_Radio_Access_capability2);
- ms->set_ms_class(ms_class);
- egprs_ms_class =
- Decoding::get_egprs_ms_class_by_capability(
- &request->MS_Radio_Access_capability2);
- ms->set_egprs_ms_class(egprs_ms_class);
+ ms_class = Decoding::get_ms_class_by_capability(&request->MS_Radio_Access_capability2);
+ egprs_ms_class = Decoding::get_egprs_ms_class_by_capability(&request->MS_Radio_Access_capability2);
+ if (ms_class)
+ ms->set_ms_class(ms_class);
+ if (egprs_ms_class)
+ ms->set_egprs_ms_class(egprs_ms_class);
}
- if (!ms->ms_class())
- LOGP(DRLCMAC, LOGL_NOTICE, "MS does not give us a class.\n");
- if (ms->egprs_ms_class())
- LOGP(DRLCMAC, LOGL_INFO,
- "MS supports EGPRS multislot class %d.\n",
- ms->egprs_ms_class());
ul_tbf = tbf_alloc_ul(bts_data(), ms, trx_no(), tlli);
if (!ul_tbf) {
diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err
index 6eb86cf3..800d4f81 100644
--- a/tests/tbf/TbfTest.err
+++ b/tests/tbf/TbfTest.err
@@ -3111,7 +3111,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
Modifying MS object, TLLI = 0x00000000, TA 220 -> 7
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
-MS supports EGPRS multislot class 1.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=1/1
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
@@ -3202,7 +3201,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
Modifying MS object, TLLI = 0x00000000, TA 220 -> 7
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
-MS supports EGPRS multislot class 1.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=1/1
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
@@ -5840,7 +5838,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
Modifying MS object, TLLI = 0x00000000, TA 220 -> 7
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
-MS supports EGPRS multislot class 1.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=1/1
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
@@ -6004,7 +6001,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
Modifying MS object, TLLI = 0x00000000, TA 220 -> 7
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
-MS supports EGPRS multislot class 1.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=1/1
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
@@ -6329,7 +6325,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
Modifying MS object, TLLI = 0x00000000, TA 220 -> 7
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 1
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 1
-MS supports EGPRS multislot class 1.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=1/1
TBF(TFI=0 TLLI=0x00000000 DIR=UL STATE=NULL EGPRS) Enabled EGPRS, mode EGPRS
@@ -7910,7 +7905,6 @@ MS requests UL TBF in packet resource request of single block, so we provide one
MS requests UL TBF in packet resource request of single block, but there is no resource request scheduled!
Modifying MS object, TLLI = 0x00000000, MS class 0 -> 11
Modifying MS object, TLLI = 0x00000000, EGPRS MS class 0 -> 11
-MS supports EGPRS multislot class 11.
********** UL-TBF starts here **********
Allocating UL TBF: MS_CLASS=11/11
[UL] Slot Allocation (Algorithm A) for class 11