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
This commit is contained in:
parent
386c33fa84
commit
ec01550b3e
|
@ -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);
|
cm = (struct rsl_ie_chan_mode *) TLVP_VAL(&tp, RSL_IE_CHAN_MODE);
|
||||||
lchan_tchmode_from_cmode(lchan, cm);
|
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");
|
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);
|
return rsl_tx_mode_modif_nack(lchan, RSL_ERR_SERV_OPT_UNAVAIL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue