From ec01550b3e401ed82523f61dbb168aeb804e2361 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Mon, 10 Sep 2018 02:38:17 +0200 Subject: [PATCH] fix RSL Chan Mode Modif for dyn TS 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 --- src/common/rsl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/rsl.c b/src/common/rsl.c index c6c00ea21..ad2d4de06 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); }