aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-06-29 19:14:58 +0200
committerHarald Welte <laforge@gnumonks.org>2011-06-29 19:14:58 +0200
commit2bc0e10fa19b665dd1957549b731634141259640 (patch)
treea644b73c5ff11afddd3e68ddea06df36015cb47f
parent3b7480d5c33811349d9c162d0ec6f04866bcc68e (diff)
RSL/LAPDM: make sure we do lapdm_channel_reset()
this will free / flush any of the queued messages and give us a clean start for the next user of the same lapdm channel.
-rw-r--r--src/common/rsl.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c
index 9d44ee20..7fd59cc7 100644
--- a/src/common/rsl.c
+++ b/src/common/rsl.c
@@ -615,15 +615,16 @@ static int rsl_rx_chan_activ(struct msgb *msg)
/* 8.4.14 RF CHANnel RELease is received */
static int rsl_rx_rf_chan_rel(struct msgb *msg)
{
+ int rc;
#if 0
- lapdm_reset(&lchan->l2_entity.lapdm_dcch);
- lapdm_reset(&lchan->l2_entity.lapdm_acch);
-
if (lchan->rtp.socket_created)
rsl_tx_ipac_dlcx_ind(lchan, RSL_ERR_NORMAL_UNSPEC);
#endif
+ rc = bts_model_rsl_chan_rel(msg->lchan);
+
+ lapdm_channel_reset(&msg->lchan->lapdm_ch);
- return bts_model_rsl_chan_rel(msg->lchan);
+ return rc;
}
/* 8.4.20 SACCH INFO MODify */