aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2021-05-29 21:31:07 +0000
committerNeels Hofmeyr <neels@hofmeyr.de>2021-05-29 23:45:22 +0000
commit208c5b643ff34872bf9eb55e4a40a6b5380f21f9 (patch)
tree7cb5eeb6df65aed7bb34c2b4ca3acd98f5ed04a8
parentfc02ff459aa5a85624e2ed64b168f582ece410e3 (diff)
fixup for gsm48_chan_mode_to_non_vamos()
When modifying chan modes, I first thought rather always fail if there is no equivalent mode. That is true for gsm48_chan_mode_to_vamos(), but for a change to non-VAMOS, rather return the unchanged mode for non-VAMOS modes, so that gsm48_chan_mode_to_non_vamos(GSM_CMODE_SIGN) works without failure. This makes more convenient checking, e.g. in osmo-bsc's lchan_fsm.c making sure that a non-VAMOS lchan has a non-VAMOS chan_mode, for all types of lchans. Change-Id: Ibf20f04d167e0e0599012ff530bc17ba8c8ab562
-rw-r--r--src/gsm/gsm48.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/gsm/gsm48.c b/src/gsm/gsm48.c
index 02489c96..ae1a21bd 100644
--- a/src/gsm/gsm48.c
+++ b/src/gsm/gsm48.c
@@ -463,22 +463,19 @@ enum gsm48_chan_mode gsm48_chan_mode_to_vamos(enum gsm48_chan_mode mode)
}
/*! Translate GSM48_CMODE_SPEECH_*_VAMOS to its corresponding GSM48_CMODE_SPEECH_* non-vamos mode.
- * If the mode has no equivalent non-VAMOS mode, return a negative value.
+ * If the mode is not a VAMOS mode, return the unchanged mode.
*/
enum gsm48_chan_mode gsm48_chan_mode_to_non_vamos(enum gsm48_chan_mode mode)
{
switch (mode) {
case GSM48_CMODE_SPEECH_V1_VAMOS:
- case GSM48_CMODE_SPEECH_V1:
return GSM48_CMODE_SPEECH_V1;
case GSM48_CMODE_SPEECH_V2_VAMOS:
- case GSM48_CMODE_SPEECH_EFR:
return GSM48_CMODE_SPEECH_EFR;
case GSM48_CMODE_SPEECH_V3_VAMOS:
- case GSM48_CMODE_SPEECH_AMR:
return GSM48_CMODE_SPEECH_AMR;
default:
- return -1;
+ return mode;
}
}