diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2023-09-30 06:37:10 +0700 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2023-10-04 09:18:11 +0000 |
commit | 695080745c8062e8b488df26ce1059ec4b33b8b2 (patch) | |
tree | fa58e000902f4553cb0cf5d0661744db5c7061df /src | |
parent | fe005cb76e38e4ebaa4e91e29ec7f4c4ef7b8ce7 (diff) |
meas: lchan_meas_sub_num_expected(): handle CSD modes
Change-Id: Iba5314dc89d65ab4a3706b6ef11994b6fa95162c
Related: OS#6168
Diffstat (limited to 'src')
-rw-r--r-- | src/common/measurement.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/common/measurement.c b/src/common/measurement.c index 96598bf0..19bff714 100644 --- a/src/common/measurement.c +++ b/src/common/measurement.c @@ -434,6 +434,9 @@ static int lchan_meas_sub_num_expected(const struct gsm_lchan *lchan) switch (pchan) { case GSM_PCHAN_TCH_F: + if (lchan->rsl_cmode == RSL_CMOD_SPD_DATA) + return 1 + 1; /* 1 x SACCH + 1 x FACCH */ + /* else: signalling or speech */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: /* TCH/F sign: DTX *is* permitted */ case GSM48_CMODE_SPEECH_V1: /* TCH/FS */ @@ -450,6 +453,9 @@ static int lchan_meas_sub_num_expected(const struct gsm_lchan *lchan) return -1; /* at least 1 x SACCH + M x TCH (variable) */ } case GSM_PCHAN_TCH_H: + if (lchan->rsl_cmode == RSL_CMOD_SPD_DATA) + return 1 + 2; /* 1 x SACCH + 2 x FACCH */ + /* else: signalling or speech */ switch (lchan->tch_mode) { case GSM48_CMODE_SIGN: /* TCH/H sign: DTX *is not* permitted */ return 1 + 12; /* 1 x SACCH + 12 x TCH */ |