fixeria submitted this change.

View Change


Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
rlcmac: do not attempt to decode PTCCH/D blocks, discard them

PTCCH/D blocks use different encoding than PDTCH/D blocks, and passing
them to gprs_rlcmac_handle_gprs_dl_block() results in decoding errors:

DRLCMAC NOTICE rlcmac.c:496 Failed decoding dl ctrl block:
7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 2b 2b 2b 2b 2b 2b 2b

We don't implement PTCCH yet, so discard these blocks starting at
Fn=12 within the period of 104 frames (see 3GPP 45.002, table 6).

Change-Id: I555004987cf2daa995b9ea21c90ac699199c4e9a
---
M src/rlcmac/rlcmac_prim.c
1 file changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/rlcmac/rlcmac_prim.c b/src/rlcmac/rlcmac_prim.c
index 4bcd925..8f27ff7 100644
--- a/src/rlcmac/rlcmac_prim.c
+++ b/src/rlcmac/rlcmac_prim.c
@@ -491,6 +491,12 @@
return -EINVAL;
}

+ /* TODO: handle PTCCH/D (Packet Timing Control CHannel) blocks */
+ if ((rlcmac_prim->l1ctl.pdch_data_ind.fn % 104) == 12) {
+ LOGRLCMAC(LOGL_DEBUG, "Dropping PTCCH/D block (not implemented)\n");
+ return 0;
+ }
+
if (gprs_rlcmac_mcs_is_gprs(cs))
return gprs_rlcmac_handle_gprs_dl_block(rlcmac_prim, cs);


To view, visit change 31950. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I555004987cf2daa995b9ea21c90ac699199c4e9a
Gerrit-Change-Number: 31950
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged