This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Review at  https://gerrit.osmocom.org/626
dyn TS, dyn PDCH: common/l1sap.c: properly notice PDCH
In l1sap_ph_rts_ind(), l1sap_ph_data_ind() and to_gsmtap(), the decision
to handle a TS as PDCH was still missing for dynamic TS.
It is not yet clear why this did not impact functionality for dynamic timeslots
on other BTS models. AFAICT they should not work without this patch, but in
fact they do. It would be nice to clarify this some day.
Change-Id: I7b873a089a3de70d980885a7539cb91997464743
---
M src/common/l1sap.c
1 file changed, 11 insertions(+), 3 deletions(-)
  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/26/626/1
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 7f73e3f..4f6cf05 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -294,6 +294,14 @@
 	return 0;
 }
 
+static bool ts_is_pdch(const struct gsm_bts_trx_ts *ts)
+{
+	return ts->pchan == GSM_PCHAN_PDCH
+		|| (ts->pchan == GSM_PCHAN_TCH_F_PDCH
+		    && (ts->flags & TS_F_PDCH_ACTIVE)
+		    && !(ts->flags & TS_F_PDCH_PENDING_MASK));
+}
+
 static int to_gsmtap(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)
 {
 	uint8_t *data;
@@ -311,7 +319,7 @@
 		uplink = 0;
 		/* fall through */
 	case OSMO_PRIM(PRIM_PH_DATA, PRIM_OP_INDICATION):
-		if (trx->ts[tn].pchan == GSM_PCHAN_PDCH)
+		if (ts_is_pdch(&trx->ts[tn]))
 			rc = gsmtap_pdch(l1sap, &chan_type, &tn, &ss, &fn, &data,
 				&len);
 		else
@@ -542,7 +550,7 @@
 	DEBUGP(DL1P, "Rx PH-RTS.ind %02u/%02u/%02u chan_nr=%d link_id=%d\n",
 		g_time.t1, g_time.t2, g_time.t3, chan_nr, link_id);
 
-	if (trx->ts[tn].pchan == GSM_PCHAN_PDCH) {
+	if (ts_is_pdch(&trx->ts[tn])) {
 		if (L1SAP_IS_PTCCH(rts_ind->fn)) {
 			pcu_tx_rts_req(&trx->ts[tn], 1, fn, 1 /* ARFCN */,
 				L1SAP_FN2PTCCHBLOCK(fn));
@@ -806,7 +814,7 @@
 	DEBUGP(DL1P, "Rx PH-DATA.ind %02u/%02u/%02u chan_nr=%d link_id=%d\n",
 		g_time.t1, g_time.t2, g_time.t3, chan_nr, link_id);
 
-	if (trx->ts[tn].pchan == GSM_PCHAN_PDCH) {
+	if (ts_is_pdch(&trx->ts[tn])) {
 		if (len == 0)
 			return -EINVAL;
 		if (L1SAP_IS_PTCCH(fn)) {
-- 
To view, visit https://gerrit.osmocom.org/626
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7b873a089a3de70d980885a7539cb91997464743
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: neels_test_account <neels at hofmeyr.de>