aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/l1sap.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2016-07-29 17:54:57 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2016-08-10 18:06:20 +0200
commit67a056c122ed588e74835771a3cfda0f2055c284 (patch)
tree3d3ddbd54bc43dfda1a40148b0c0a7b98a84614e /src/common/l1sap.c
parentef8e2ef6817a78e1598586dfc7275982ec21fd5a (diff)
dyn TS: complete for TRX
Apply similar fixes as for TCH/F_PDCH also for TCH/F_TCH/H_PDCH: Detect dyn TS in PDCH mode in ts_is_pdch(). In trx_set_ts(), enhance the "if (TCH_F_PDCH)" to a switch statement including both dynamic channel types. Adjust the comment to include both kinds. Change-Id: I6669739cd08780cd9ffb9451cdae9f6b9704c4fe
Diffstat (limited to 'src/common/l1sap.c')
-rw-r--r--src/common/l1sap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/common/l1sap.c b/src/common/l1sap.c
index 304f7185..64981033 100644
--- a/src/common/l1sap.c
+++ b/src/common/l1sap.c
@@ -299,7 +299,10 @@ 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));
+ && !(ts->flags & TS_F_PDCH_PENDING_MASK))
+ || (ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH
+ && ts->dyn.pchan_want == ts->dyn.pchan_is
+ && ts->dyn.pchan_is == GSM_PCHAN_PDCH);
}
static int to_gsmtap(struct gsm_bts_trx *trx, struct osmo_phsap_prim *l1sap)