aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-04-10 00:14:55 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-04-10 00:14:55 +0200
commit63d18b51a7fe76e05a0a3167205c5d61205fca98 (patch)
treefc8b0f5a4744f7dff27d34c6840224cd12de3e9e /openbsc
parent74419497fccc93ef5acf6bc0d64f683c8bf25617 (diff)
[rsl] Set the release state from within the lchan class
Currently our GSM04.11 code is closing the link for SAPI=3 and this would mean that the whole channel would be scheduled for close... where we only want to close everything when freeing the lchan or handling an error.
Diffstat (limited to 'openbsc')
-rw-r--r--openbsc/src/abis_rsl.c1
-rw-r--r--openbsc/src/chan_alloc.c1
2 files changed, 1 insertions, 1 deletions
diff --git a/openbsc/src/abis_rsl.c b/openbsc/src/abis_rsl.c
index 9cf34b497..ba1be99c8 100644
--- a/openbsc/src/abis_rsl.c
+++ b/openbsc/src/abis_rsl.c
@@ -727,7 +727,6 @@ int rsl_release_request(struct gsm_lchan *lchan, u_int8_t link_id)
link_id, 0);
msgb_tv_put(msg, RSL_IE_RELEASE_MODE, 0); /* normal release */
- rsl_lchan_set_state(lchan, LCHAN_S_REL_REQ);
/* FIXME: start some timer in case we don't receive a REL ACK ? */
msg->trx = lchan->ts->trx;
diff --git a/openbsc/src/chan_alloc.c b/openbsc/src/chan_alloc.c
index cd48e4359..118deca10 100644
--- a/openbsc/src/chan_alloc.c
+++ b/openbsc/src/chan_alloc.c
@@ -348,6 +348,7 @@ int lchan_auto_release(struct gsm_lchan *lchan)
lchan->conn.use_count);
DEBUGP(DRLL, "%s Recycling Channel\n", gsm_lchan_name(lchan));
+ rsl_lchan_set_state(lchan, LCHAN_S_REL_REQ);
rsl_release_request(lchan, 0);
return 1;
}