fixeria submitted this change.

View Change

Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve falconia: Looks good to me, approved
trxcon/l1sched: fix decoding of DL FACCH/H for TCH/H4.8 and TCH/H2.4

The mapping sched_tchh_dl_csd_map[] is valid for DL TCH/H4.8 and
TCH/H2.4, but not for DL FACCH/H. We need to use a separate
lookup table sched_tchh_dl_facch_map[] for DL FACCH/H.

Change-Id: I17df806185dc620999c4c2b9ed83a18cc8b2e0bf
Fixes: a93785bf4 ("trxcon/l1sched: implement CSD scheduling support")
Related: OS#4396, OS#6618
---
M src/host/trxcon/src/sched_lchan_tchh.c
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/host/trxcon/src/sched_lchan_tchh.c b/src/host/trxcon/src/sched_lchan_tchh.c
index d684976..ecd9847 100644
--- a/src/host/trxcon/src/sched_lchan_tchh.c
+++ b/src/host/trxcon/src/sched_lchan_tchh.c
@@ -310,8 +310,6 @@
/* Data (CSD) is interleaved over 22 bursts */
if ((*mask & 0x3fffff) != 0x3fffff)
return 0;
- if (!sched_tchh_dl_csd_map[bi->fn % 26])
- return 0; /* CSD: skip decoding attempt, need 2 more bursts */
break;
default:
/* Speech is interleaved over 4 bursts */
@@ -372,14 +370,20 @@
/* CSD (TCH/H4.8): 6.0 kbit/s radio interface rate */
case GSM48_CMODE_DATA_6k0:
/* FACCH/H does not steal TCH/H4.8 frames, but only disturbs some bits */
- decode_hr_facch(lchan);
+ if (sched_tchh_dl_facch_map[bi->fn % 26])
+ decode_hr_facch(lchan);
+ if (!sched_tchh_dl_csd_map[bi->fn % 26])
+ return 0;
rc = gsm0503_tch_hr48_decode(&tch_data[0], BUFPOS(bursts_p, 0),
&n_errors, &n_bits_total);
break;
/* CSD (TCH/H2.4): 3.6 kbit/s radio interface rate */
case GSM48_CMODE_DATA_3k6:
/* FACCH/H does not steal TCH/H2.4 frames, but only disturbs some bits */
- decode_hr_facch(lchan);
+ if (sched_tchh_dl_facch_map[bi->fn % 26])
+ decode_hr_facch(lchan);
+ if (!sched_tchh_dl_csd_map[bi->fn % 26])
+ return 0;
rc = gsm0503_tch_hr24_decode(&tch_data[0], BUFPOS(bursts_p, 0),
&n_errors, &n_bits_total);
break;

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

Gerrit-MessageType: merged
Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-Change-Id: I17df806185dc620999c4c2b9ed83a18cc8b2e0bf
Gerrit-Change-Number: 38724
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: falconia <falcon@freecalypso.org>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>