[PATCH] osmo-bts[master]: fix activation of osmocom-style dynamic PDCH as TCH/F or TCH/H

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/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Thu Apr 5 19:44:40 UTC 2018


Review at  https://gerrit.osmocom.org/7652

fix activation of osmocom-style dynamic PDCH as TCH/F or TCH/H

in change-id Iebd2571726d1284a7431b3f9b23ad3185e832ed1 we introduced
tighter validation on whether the requested channel number matches the
underlying physical channel configuration.  Unfortunately this broke
activation of an osmocom-style dynamic PDCH as TCH/F or TCH/H

rsl_lchan_lookup already permitted a chan_nr if the dynamic PDCH was
already switched to the given TCH mode, or at least the related
switching had already been initiated.

However, in the case of the bug, the current type is NONE, which means
that the compatibility check of rsl_lchan_lookup will fail

Let's relax the checks of rsl_lchan_lookup() slightly to permit
matching for "ts->dyn.pchan_is == GSM_PCHAN_NONE" cases.

This fixes BTS_Tests.TC_dyn_osmo_pdch_tchh_act and
BTS_Tests.TC_dyn_osmo_pdch_tchf_act

Change-Id: I14ae4c4ed2aae0966e5cb5116cf024d6bd890237
Related: OS#3134
---
M src/common/gsm_data_shared.c
1 file changed, 2 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/52/7652/1

diff --git a/src/common/gsm_data_shared.c b/src/common/gsm_data_shared.c
index 3fb31bf..553c09b 100644
--- a/src/common/gsm_data_shared.c
+++ b/src/common/gsm_data_shared.c
@@ -709,6 +709,7 @@
 		    ts->pchan != GSM_PCHAN_TCH_F_PDCH
 		    && !(ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH
 			 && (ts->dyn.pchan_is == GSM_PCHAN_TCH_F
+			     || ts->dyn.pchan_is == GSM_PCHAN_NONE
 			     || ts->dyn.pchan_want == GSM_PCHAN_TCH_F)))
 			ok = false;
 	} else if ((cbits & 0x1e) == 0x02) {
@@ -716,6 +717,7 @@
 		if (ts->pchan != GSM_PCHAN_TCH_H
 		    && !(ts->pchan == GSM_PCHAN_TCH_F_TCH_H_PDCH
 			 && (ts->dyn.pchan_is == GSM_PCHAN_TCH_H
+			     || ts->dyn.pchan_is == GSM_PCHAN_NONE
 			     || ts->dyn.pchan_want == GSM_PCHAN_TCH_H)))
 			ok = false;
 	} else if ((cbits & 0x1c) == 0x04) {

-- 
To view, visit https://gerrit.osmocom.org/7652
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I14ae4c4ed2aae0966e5cb5116cf024d6bd890237
Gerrit-PatchSet: 1
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list