aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/common/rsl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index b8e4c23c..8b7702b3 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -675,6 +675,7 @@ static int rsl_rx_chan_activ(struct msgb *msg)
struct rsl_ie_chan_mode *cm;
struct tlv_parsed tp;
uint8_t type;
+ int rc;
if (lchan->state != LCHAN_S_NONE) {
LOGP(DRSL, LOGL_ERROR,
@@ -788,7 +789,11 @@ static int rsl_rx_chan_activ(struct msgb *msg)
/* actually activate the channel in the BTS */
lchan->rel_act_kind = LCHAN_REL_ACT_RSL;
- return bts_model_rsl_chan_act(msg->lchan, &tp);
+ rc = bts_model_rsl_chan_act(msg->lchan, &tp);
+ if (rc < 0)
+ return rsl_tx_chan_act_nack(lchan, -rc);
+
+ return 0;
}
/* 8.4.14 RF CHANnel RELease is received */