aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-03-05 18:54:01 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2021-03-08 10:39:31 +0100
commit3cba94d70ed046ef1f58e36080ad95fa5cb8de5f (patch)
tree46c2ec10b8b543e44536234995720209cca55454 /src
parent58fdc54a7fdf322fd2711ab018665ebba81ae7a0 (diff)
pdch: Silently ignore DATA.ind with len=0
Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5020 Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8
Diffstat (limited to 'src')
-rw-r--r--src/pdch.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pdch.cpp b/src/pdch.cpp
index 46d1cae2..26fd6a93 100644
--- a/src/pdch.cpp
+++ b/src/pdch.cpp
@@ -794,6 +794,15 @@ free_ret:
int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn,
struct pcu_l1_meas *meas)
{
+ /* No successfully decoded UL block was received during this FN: */
+ if (len == 0) {
+ /* TODO: Here, in the future, it can be checked whether a UL block was expected for:
+ * - UL/DL TBFs: RRBP poll pending (bts->pollController->expireTimedout)
+ * - UL TBFs: USF poll pending (we don't store this info in ul_tbf yet) -> inc N3101 (OS#5033)
+ */
+ return 0;
+ }
+
enum CodingScheme cs = mcs_get_by_size_ul(len);
if (!cs) {
bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS);