From 8ecd029b127f8318221f605332b48b4fba3a353a Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Thu, 8 Apr 2010 22:39:34 +0200 Subject: [rsl] Move rf channel release scheduling to a new method The current channel release has a couple of issues we will need to fix in a set of upcoming commits. The issues include: 1.) sending release twice 2.) reassigning the channel inbetween the relase.. --- openbsc/src/abis_rsl.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c index 939143f2e..80a0a0843 100644 --- a/openbsc/src/abis_rsl.c +++ b/openbsc/src/abis_rsl.c @@ -1247,6 +1247,14 @@ static int rsl_rx_rll_err_ind(struct msgb *msg) return 0; } +static void rsl_handle_release(struct gsm_lchan *lchan) +{ + /* we can now releae the channel on the BTS/Abis side */ + /* FIXME: officially we need to start T3111 and wait for + * some grace period */ + rsl_rf_chan_release(lchan); +} + /* ESTABLISH INDICATION, LOCATION AREA UPDATE REQUEST 0x02, 0x06, 0x01, 0x20, @@ -1298,20 +1306,14 @@ static int abis_rsl_rx_rll(struct msgb *msg) msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_UNUSED; rll_indication(msg->lchan, rllh->link_id, BSC_RLLR_IND_REL_IND); - /* we can now releae the channel on the BTS/Abis side */ - /* FIXME: officially we need to start T3111 and wait for - * some grace period */ - rsl_rf_chan_release(msg->lchan); + rsl_handle_release(msg->lchan); break; case RSL_MT_REL_CONF: /* BTS informs us of having received UA from MS, * in response to DISC that we've sent earlier */ DEBUGPC(DRLL, "RELEASE CONFIRMATION\n"); msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_UNUSED; - /* we can now releae the channel on the BTS/Abis side */ - /* FIXME: officially we need to start T3111 and wait for - * some grace period */ - rsl_rf_chan_release(msg->lchan); + rsl_handle_release(msg->lchan); break; case RSL_MT_ERROR_IND: rc = rsl_rx_rll_err_ind(msg); -- cgit v1.2.3