measurement: count all blocks as SUB for TCH/F in signalling mode

SUB frames exist only in voice (or CSD) channels. When a TCH/F is in
signalling mode, all blocks must be counted as SUB blocks. (for TCH/H
the current implementation is correct.)

Change-Id: I04be21200afa1d03afa0d7e476c66fa79cf42249
Related: OS#4799
This commit is contained in:
Philipp Maier 2020-10-23 21:42:37 +02:00
parent 44fc252381
commit 79294134dd
1 changed files with 4 additions and 1 deletions

View File

@ -55,7 +55,6 @@ bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn)
switch (lchan->type) {
case GSM_LCHAN_TCH_F:
switch (lchan->tch_mode) {
case GSM48_CMODE_SIGN:
case GSM48_CMODE_SPEECH_V1:
case GSM48_CMODE_SPEECH_EFR:
if (trx_sched_is_sacch_fn(lchan->ts, fn, true))
@ -67,6 +66,10 @@ bool ts45008_83_is_sub(struct gsm_lchan *lchan, uint32_t fn)
if (trx_sched_is_sacch_fn(lchan->ts, fn, true))
return true;
break;
case GSM48_CMODE_SIGN:
/* No DTX allowed; SUB=FULL, therefore measurements at all frame numbers are
* SUB */
return true;
default:
LOGPFN(DMEAS, LOGL_ERROR, fn, "%s: Unsupported lchan->tch_mode %u\n",
gsm_lchan_name(lchan), lchan->tch_mode);