diff options
-rw-r--r-- | src/common/rsl.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c index 188d4391..d7d728a8 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -617,6 +617,13 @@ static int rsl_rx_chan_activ(struct msgb *msg) struct tlv_parsed tp; uint8_t type; + if (lchan->state != LCHAN_S_NONE) { + LOGP(DRSL, LOGL_ERROR, + "%s: error lchan is not available state: %s.\n", + gsm_lchan_name(lchan), gsm_lchans_name(lchan->state)); + return rsl_tx_chan_act_nack(lchan, RSL_ERR_EQUIPMENT_FAIL); + } + rsl_tlv_parse(&tp, msgb_l3(msg), msgb_l3len(msg)); /* 9.3.3 Activation Type */ |