aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/rsl.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-09-10 02:38:17 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2018-09-10 02:38:38 +0200
commitec01550b3e401ed82523f61dbb168aeb804e2361 (patch)
tree3b2e625fdc30103803e950136753767a638d7171 /src/common/rsl.c
parent386c33fa847d9f00937c43005bf6f949536cffbb (diff)
fix RSL Chan Mode Modif for dyn TSneels/dyn_modif
bts_supports_cm() should never be fed with dynamic pchan kinds (e.g. GSM_PCHAN_TCH_F_TCH_H_PDCH), but with the currently active pchan kind instead (GSM_PCHAN_TCH_F). Otherwise the switch() inside bts_supports_cm() fails. Change-Id: I26707e5e63f5117a8c35453e9cb6a654280b044c
Diffstat (limited to 'src/common/rsl.c')
-rw-r--r--src/common/rsl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index c6c00ea2..ad2d4de0 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -1498,7 +1498,7 @@ static int rsl_rx_mode_modif(struct msgb *msg)
cm = (struct rsl_ie_chan_mode *) TLVP_VAL(&tp, RSL_IE_CHAN_MODE);
lchan_tchmode_from_cmode(lchan, cm);
- if (bts_supports_cm(lchan->ts->trx->bts, lchan->ts->pchan, lchan->tch_mode) != 1) {
+ if (bts_supports_cm(lchan->ts->trx->bts, ts_pchan(lchan->ts), lchan->tch_mode) != 1) {
LOGP(DRSL, LOGL_ERROR, "invalid mode/codec instructed by BSC, check BSC configuration.\n");
return rsl_tx_mode_modif_nack(lchan, RSL_ERR_SERV_OPT_UNAVAIL);
}