diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2012-04-16 22:15:29 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-04-19 09:39:54 +0200 |
commit | b0150b7ad4610307308595d3fe1b28b31466e8de (patch) | |
tree | 18cd409ea6b754650f9914117fabd0c77ad756d8 | |
parent | d7718280c98cdd9a6da27fbbf90c171f49969279 (diff) |
lchan: Refuse to activate a non-idle lchan.
-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 */ |